가끔 커널소스를 받아 make config 또는 make menuconfig 를 해보면,
자신의 커널이 어떤 기능을 디폴트로 지원하고 있는지 확인 할 수 있다.
이렇게 보다 보면 커널 디버깅에 대한 기능들도 일부 얻을 수 있고,
어떤 기능들을 리눅스에서 지원하고 있는지 확인 할 수 있어 가끔 도움이 되곤 한다.
참고로 난 Memory debugging 을 좀 해볼게 있어 디버깅모드를 상당히 많이
Enable 시켜 Recompile 중이다. 특히 debugfs 와 sysfs, ftrace 의 기능들을 좀 더 추가했다.
( 사실 Perf 랑 DTrace 등을 이용해도 되는데 왜때문에? ㅠㅠ )
또한 사용된 리눅스 커널은 바닐라 커널이 아닌 오라클의 UEK2 커널이며,
호환성 등을 위해 Linux kernel 2.6.39 (Flesh-Eating Bats with Fangs) 와
3.0.60 sneaky weasel 을 믹스하여 개발된 커널로
컴파일되는 버젼은 2.6.39 로 컴파일된다.
이건 오라클 UEK2 의 최신 바닐라커널인 셈이다.
# make config
HOSTCC scripts/basic/fixdep
HOSTCC scripts/kconfig/conf.o
SHIPPED scripts/kconfig/zconf.tab.c
SHIPPED scripts/kconfig/lex.zconf.c
SHIPPED scripts/kconfig/zconf.hash.c
HOSTCC scripts/kconfig/zconf.tab.o
HOSTLD scripts/kconfig/conf
scripts/kconfig/conf --oldaskconfig Kconfig
#
# using defaults found in /boot/config-3.8.13-44.1.1.el6uek.x86_64
#
/boot/config-3.8.13-44.1.1.el6uek.x86_64:5003:warning: symbol value 'm' invalid for NFS_V3
/boot/config-3.8.13-44.1.1.el6uek.x86_64:5005:warning: symbol value 'm' invalid for NFS_V4
*
* Linux/x86_64 3.0.69 Kernel Configuration
*
DMA memory allocation support (ZONE_DMA) [Y/n/?] y
*
* General setup
*
Kernel for Oracle Unbreakable Enterprise Linux 5 (UEK5) [Y/n/?] (NEW) y
Prompt for development and/or incomplete code/drivers (EXPERIMENTAL) [Y/n/?] y
Cross-compiler tool prefix (CROSS_COMPILE) []
Local version - append to kernel release (LOCALVERSION) []
Automatically append version information to the version string (LOCALVERSION_AUTO) [N/y/?] y
Kernel compression mode
> 1. Gzip (KERNEL_GZIP)
2. Bzip2 (KERNEL_BZIP2)
3. LZMA (KERNEL_LZMA)
4. XZ (KERNEL_XZ)
5. LZO (KERNEL_LZO)
choice[1-5?]: 4
Default hostname (DEFAULT_HOSTNAME) [(none)]
Support for paging of anonymous memory (swap) (SWAP) [Y/n/?] n
System V IPC (SYSVIPC) [Y/n/?] y
POSIX Message Queues (POSIX_MQUEUE) [Y/n/?] y
BSD Process Accounting (BSD_PROCESS_ACCT) [Y/n/?] y
BSD Process Accounting version 3 file format (BSD_PROCESS_ACCT_V3) [Y/n/?] y
open by fhandle syscalls (FHANDLE) [Y/n/?] y
Export task/process statistics through netlink (EXPERIMENTAL) (TASKSTATS) [Y/n/?] y
Enable per-task delay accounting (EXPERIMENTAL) (TASK_DELAY_ACCT) [Y/n/?] y
Enable extended accounting over taskstats (EXPERIMENTAL) (TASK_XACCT) [Y/n/?] y
Enable per-task storage I/O accounting (EXPERIMENTAL) (TASK_IO_ACCOUNTING) [Y/n/?] y
Auditing support (AUDIT) [Y/n/?] y
Enable system-call auditing support (AUDITSYSCALL) [Y/n/?] y
*
* RCU Subsystem
*
RCU Implementation
> 1. Tree-based hierarchical RCU (TREE_RCU)
choice[1]: 1
Enable tracing for RCU (RCU_TRACE) [N/y/?] y
Tree-based hierarchical RCU fanout value (RCU_FANOUT) [64] y
Tree-based hierarchical RCU fanout value (RCU_FANOUT) [64]
Disable tree-based hierarchical RCU auto-balancing (RCU_FANOUT_EXACT) [N/y/?] n
Accelerate last non-dyntick-idle CPU's grace periods (RCU_FAST_NO_HZ) [N/y/?] n
Kernel .config support (IKCONFIG) [N/m/y/?] n
Kernel log buffer size (16 => 64KB, 17 => 128KB) (LOG_BUF_SHIFT) [20]
*
* Control Group support
*
Control Group support (CGROUPS) [Y/n/?] y
Example debug cgroup subsystem (CGROUP_DEBUG) [N/y/?] y
Freezer cgroup subsystem (CGROUP_FREEZER) [Y/n/?]
Device controller for cgroups (CGROUP_DEVICE) [Y/n/?]
Cpuset support (CPUSETS) [Y/n/?]
Include legacy /proc/<pid>/cpuset file (PROC_PID_CPUSET) [Y/n]
Simple CPU accounting cgroup subsystem (CGROUP_CPUACCT) [Y/n/?]
Resource counters (RESOURCE_COUNTERS) [Y/n/?]
Memory Resource Controller for Control Groups (CGROUP_MEM_RES_CTLR) [N/y/?] (NEW) y
Enable perf_event per-cpu per-container group (cgroup) monitoring (CGROUP_PERF) [Y/n/?] y
*
* Group CPU scheduler
*
Group CPU scheduler (CGROUP_SCHED) [Y/n/?] y
Group scheduling for SCHED_OTHER (FAIR_GROUP_SCHED) [Y/n] y
Group scheduling for SCHED_RR/FIFO (RT_GROUP_SCHED) [Y/n/?] y
Block IO controller (BLK_CGROUP) [Y/n/m/?] y
Enable Block IO controller debugging (DEBUG_BLK_CGROUP) [N/y/?] y
*
* Namespaces support
*
Namespaces support (NAMESPACES) [Y/n/?] y
UTS namespace (UTS_NS) [Y/n/?] y
IPC namespace (IPC_NS) [Y/n/?] y
User namespace (EXPERIMENTAL) (USER_NS) [Y/n/?] (NEW) y
PID Namespaces (PID_NS) [Y/n/?] y
Network namespace (NET_NS) [Y/n/?] y
Automatic process group scheduling (SCHED_AUTOGROUP) [N/y/?]
Enable deprecated sysfs features to support old userspace tools (SYSFS_DEPRECATED) [N/y/?]
Kernel->user space relay support (formerly relayfs) (RELAY) [Y/?] y
Initial RAM filesystem and RAM disk (initramfs/initrd) support (BLK_DEV_INITRD) [Y/n/?]
Initramfs source file(s) (INITRAMFS_SOURCE) []
Support initial ramdisks compressed using gzip (RD_GZIP) [Y/n/?]
Support initial ramdisks compressed using bzip2 (RD_BZIP2) [Y/n/?]
Support initial ramdisks compressed using LZMA (RD_LZMA) [Y/n/?]
Support initial ramdisks compressed using XZ (RD_XZ) [Y/n/?]
Support initial ramdisks compressed using LZO (RD_LZO) [Y/n/?]
Optimize for size (CC_OPTIMIZE_FOR_SIZE) [N/y/?]
*
* Configure standard kernel features (expert users)
*
Configure standard kernel features (expert users) (EXPERT) [Y/n/?]
Enable 16-bit UID system calls (UID16) [Y/n/?]
Sysctl syscall support (SYSCTL_SYSCALL) [Y/n/?]
Load all symbols for debugging/ksymoops (KALLSYMS) [Y/?] y
Include all symbols in kallsyms (KALLSYMS_ALL) [Y/?] y
Support for hot-pluggable devices (HOTPLUG) [Y/?] y
Enable support for printk (PRINTK) [Y/n/?]
BUG() support (BUG) [Y/n/?]
Enable ELF core dumps (ELF_CORE) [Y/n/?]
Enable PC-Speaker support (PCSPKR_PLATFORM) [Y/n/?]
Enable full-sized data structures for core (BASE_FULL) [Y/n/?]
Enable futex support (FUTEX) [Y/n/?]
Enable eventpoll support (EPOLL) [Y/n/?]
Enable signalfd() system call (SIGNALFD) [Y/n/?]
Enable timerfd() system call (TIMERFD) [Y/n/?]
Enable eventfd() system call (EVENTFD) [Y/?] y
Use full shmem filesystem (SHMEM) [Y/?] y
Enable AIO support (AIO) [Y/n/?]
Embedded system (EMBEDDED) [N/y/?] n
*
* Kernel Performance Events And Counters
*
Kernel performance events and counters (PERF_EVENTS) [Y/?] y
Kernel performance counters (old config option) (PERF_COUNTERS) [N/y/?] (NEW)
Debug: use vmalloc to back perf mmap() buffers (DEBUG_PERF_USE_VMALLOC) [N/y/?]
Enable VM event counters for /proc/vmstat (VM_EVENT_COUNTERS) [Y/n/?]
Enable PCI quirk workarounds (PCI_QUIRKS) [Y/n/?]
Disable heap randomization (COMPAT_BRK) [N/y/?]
Choose SLAB allocator
> 1. SLAB (SLAB)
2. SLUB (Unqueued Allocator) (SLUB)
3. SLOB (Simple Allocator) (SLOB)
choice[1-3?]: 1
Profiling support (PROFILING) [Y/n/?]
OProfile system profiling (OPROFILE) [M/n/y/?] y
OProfile multiplexing support (EXPERIMENTAL) (OPROFILE_EVENT_MULTIPLEX) [N/y/?]
Kprobes (KPROBES) [Y/n/?] y
Optimize trace point call sites (JUMP_LABEL) [N/y/?]
*
* Enable loadable module support
*
Enable loadable module support (MODULES) [Y/n/?]
Forced module loading (MODULE_FORCE_LOAD) [Y/n/?]
Module unloading (MODULE_UNLOAD) [Y/n/?]
Forced module unloading (MODULE_FORCE_UNLOAD) [N/y/?]
Module versioning support (MODVERSIONS) [Y/n/?]
Source checksum for all modules (MODULE_SRCVERSION_ALL) [Y/n/?]
Module ELF structure verification (MODULE_VERIFY_ELF) [Y/?] (NEW) y
Module signature verification (EXPERIMENTAL) (MODULE_SIG) [Y/n/?]
Required modules to be validly signed (EXPERIMENTAL) (MODULE_SIG_FORCE) [N/y/?]
*
* Enable the block layer
*
Enable the block layer (BLOCK) [Y/n/?]
Block layer SG support v4 (BLK_DEV_BSG) [Y/?] y
Block layer SG support v4 helper lib (BLK_DEV_BSGLIB) [Y/?] y
Block layer data integrity support (BLK_DEV_INTEGRITY) [Y/n/?]
Block layer bio throttling support (BLK_DEV_THROTTLING) [Y/n/?]
*
* IO Schedulers
*
Deadline I/O scheduler (IOSCHED_DEADLINE) [Y/n/m/?]
CFQ I/O scheduler (IOSCHED_CFQ) [Y/n/m/?]
CFQ Group Scheduling support (CFQ_GROUP_IOSCHED) [Y/n/?]
Default I/O scheduler
> 1. Deadline (DEFAULT_DEADLINE)
2. CFQ (DEFAULT_CFQ)
3. No-op (DEFAULT_NOOP)
choice[1-3?]: 2
*
* Processor type and features
*
Tickless System (Dynamic Ticks) (NO_HZ) [Y/n/?]
High Resolution Timer Support (HIGH_RES_TIMERS) [Y/n/?]
Symmetric multi-processing support (SMP) [Y/n/?]
Enable MPS table (X86_MPPARSE) [Y/n/?]
Support for extended (non-PC) x86 platforms (X86_EXTENDED_PLATFORM) [Y/n/?]
ScaleMP vSMP (X86_VSMP) [N/y/?]
Single-depth WCHAN output (SCHED_OMIT_FRAME_POINTER) [Y/n/?]
*
* Supported processor vendors
*
Supported processor vendors (PROCESSOR_SELECT) [N/y/?]
Enable DMI scanning (DMI) [Y/n/?]
GART IOMMU support (GART_IOMMU) [Y/n/?]
IBM Calgary IOMMU support (CALGARY_IOMMU) [Y/n/?]
Should Calgary be enabled by default? (CALGARY_IOMMU_ENABLED_BY_DEFAULT) [Y/n/?]
AMD IOMMU support (AMD_IOMMU) [Y/n/?]
Export AMD IOMMU statistics to debugfs (AMD_IOMMU_STATS) [Y/n/?]
Enable Maximum number of SMP Processors and NUMA Nodes (MAXSMP) [Y/n/?]
SMT (Hyperthreading) scheduler support (SCHED_SMT) [Y/n/?]
Multi-core scheduler support (SCHED_MC) [Y/n/?]
Fine granularity task level IRQ time accounting (IRQ_TIME_ACCOUNTING) [N/y/?]
Preemption Model
1. No Forced Preemption (Server) (PREEMPT_NONE)
> 2. Voluntary Kernel Preemption (Desktop) (PREEMPT_VOLUNTARY)
3. Preemptible Kernel (Low-Latency Desktop) (PREEMPT)
choice[1-3]: 1
Reroute for broken boot IRQs (X86_REROUTE_FOR_BROKEN_BOOT_IRQS) [Y/n/?]
Machine Check / overheating reporting (X86_MCE) [Y/n/?]
Intel MCE features (X86_MCE_INTEL) [Y/n/?]
AMD MCE features (X86_MCE_AMD) [Y/n/?]
Machine check injector support (X86_MCE_INJECT) [M/n/y/?]
Dell laptop support (I8K) [M/n/y/?] n
/dev/cpu/microcode - microcode support (MICROCODE) [M/n/y/?] y
Intel microcode patch loading support (MICROCODE_INTEL) [Y/n/?] y
AMD microcode patch loading support (MICROCODE_AMD) [Y/n/?] y
/dev/cpu/*/msr - Model-specific register support (X86_MSR) [Y/n/m/?] y
/dev/cpu/*/cpuid - CPU information support (X86_CPUID) [Y/n/m/?] y
Enable 1GB pages for kernel pagetables (DIRECT_GBPAGES) [Y/n/?] y
Numa Memory Allocation and Scheduler Support (NUMA) [Y/n/?] y
Old style AMD Opteron NUMA detection (AMD_NUMA) [Y/n/?]
ACPI NUMA detection (X86_64_ACPI_NUMA) [Y/n/?]
NUMA emulation (NUMA_EMU) [N/y/?]
Memory model
> 1. Sparse Memory (SPARSEMEM_MANUAL)
choice[1]: 1
Sparse Memory virtual memmap (SPARSEMEM_VMEMMAP) [Y/n/?]
Allow for memory hot-add (MEMORY_HOTPLUG) [Y/n]
Allow for memory hot remove (MEMORY_HOTREMOVE) [N/y]
Allow for memory compaction (COMPACTION) [Y/n/?]
Page migration (MIGRATION) [Y/?] y
Enable KSM for page merging (KSM) [Y/n/?]
Low address space to protect from user allocation (DEFAULT_MMAP_MIN_ADDR) [4096]
Enable recovery from hardware memory errors (MEMORY_FAILURE) [Y/n/?]
HWPoison pages injector (HWPOISON_INJECT) [M/n/y]
Transparent Hugepage Support (TRANSPARENT_HUGEPAGE) [N/y/?] y
Transparent Hugepage Support sysfs defaults
> 1. always (TRANSPARENT_HUGEPAGE_ALWAYS) (NEW)
2. madvise (TRANSPARENT_HUGEPAGE_MADVISE) (NEW)
choice[1-2?]:
Enable cleancache driver to cache clean pages if tmem is present (CLEANCACHE) [Y/n/?]
Check for low memory corruption (X86_CHECK_BIOS_CORRUPTION) [N/y/?]
Amount of low memory, in kilobytes, to reserve for the BIOS (X86_RESERVE_LOW) [64]
MTRR (Memory Type Range Register) support (MTRR) [Y/n/?]
MTRR cleanup support (MTRR_SANITIZER) [Y/n/?]
MTRR cleanup enable value (0-1) (MTRR_SANITIZER_ENABLE_DEFAULT) [1]
MTRR cleanup spare reg num (0-7) (MTRR_SANITIZER_SPARE_REG_NR_DEFAULT) [1]
x86 PAT support (X86_PAT) [Y/n/?]
x86 architectural random number generator (ARCH_RANDOM) [Y/n/?]
EFI runtime service support (EFI) [Y/n/?]
Enable seccomp to safely compute untrusted bytecode (SECCOMP) [Y/n/?]
Enable -fstack-protector buffer overflow detection (EXPERIMENTAL) (CC_STACKPROTECTOR) [Y/n/?]
Timer frequency
1. 100 HZ (HZ_100)
2. 250 HZ (HZ_250)
3. 300 HZ (HZ_300)
> 4. 1000 HZ (HZ_1000)
choice[1-4?]:
kexec system call (KEXEC) [Y/n/?]
kernel crash dumps (CRASH_DUMP) [Y/n/?]
Physical address where the kernel is loaded (PHYSICAL_START) [0x1000000]
Build a relocatable kernel (RELOCATABLE) [Y/n/?]
Support for hot-pluggable CPUs (HOTPLUG_CPU) [Y/?] y
Compat VDSO support (COMPAT_VDSO) [N/y/?]
Built-in kernel command line (CMDLINE_BOOL) [N/y/?] y
Built-in kernel command string (CMDLINE) [] (NEW)
Built-in command line overrides boot loader arguments (CMDLINE_OVERRIDE) [N/y/?] (NEW) y
*
* CPU Frequency scaling
*
CPU Frequency scaling (CPU_FREQ) [Y/n/?]
CPU frequency translation statistics (CPU_FREQ_STAT) [M/n/y/?]
CPU frequency translation statistics details (CPU_FREQ_STAT_DETAILS) [Y/n/?]
Default CPUFreq governor
1. performance (CPU_FREQ_DEFAULT_GOV_PERFORMANCE)
2. powersave (CPU_FREQ_DEFAULT_GOV_POWERSAVE)
> 3. userspace (CPU_FREQ_DEFAULT_GOV_USERSPACE)
4. ondemand (CPU_FREQ_DEFAULT_GOV_ONDEMAND)
5. conservative (CPU_FREQ_DEFAULT_GOV_CONSERVATIVE)
choice[1-5?]: 1
'performance' governor (CPU_FREQ_GOV_PERFORMANCE) [Y/?] y
'powersave' governor (CPU_FREQ_GOV_POWERSAVE) [M/n/y/?] y
'userspace' governor for userspace frequency scaling (CPU_FREQ_GOV_USERSPACE) [Y/n/m/?] y
'ondemand' cpufreq policy governor (CPU_FREQ_GOV_ONDEMAND) [M/n/y/?] y
'conservative' cpufreq governor (CPU_FREQ_GOV_CONSERVATIVE) [M/n/y/?] y
*
* x86 CPU frequency scaling drivers
*
Processor Clocking Control interface driver (X86_PCC_CPUFREQ) [M/n/y/?]
ACPI Processor P-States driver (X86_ACPI_CPUFREQ) [M/n/y/?]
AMD Opteron/Athlon64 PowerNow! (X86_POWERNOW_K8) [M/n/y/?]
Intel Enhanced SpeedStep (deprecated) (X86_SPEEDSTEP_CENTRINO) [N/m/y/?]
Intel Pentium 4 clock modulation (X86_P4_CLOCKMOD) [M/n/y/?]
*
* shared options
*
CPU idle PM support (CPU_IDLE) [Y/?] y
Cpuidle Driver for Intel Processors (INTEL_IDLE) [Y/n/?]
[[[[[ 중략 ]]]]]
*
* Distributed Lock Manager (DLM)
*
Distributed Lock Manager (DLM) (DLM) [M/?] m
DLM debugging (DLM_DEBUG) [Y/n/?]
*
* Kernel hacking
*
Show timing information on printks (PRINTK_TIME) [N/y/?]
Default message log level (1-7) (DEFAULT_MESSAGE_LOGLEVEL) [4]
Enable __deprecated logic (ENABLE_WARN_DEPRECATED) [N/y/?]
Enable __must_check logic (ENABLE_MUST_CHECK) [Y/n/?]
Warn for stack frames larger than (needs gcc 4.4) (FRAME_WARN) [2048]
Magic SysRq key (MAGIC_SYSRQ) [Y/?] y
Strip assembler-generated symbols during link (STRIP_ASM_SYMS) [Y/n/?]
Enable unused/obsolete exported symbols (UNUSED_SYMBOLS) [N/y/?]
Debug Filesystem (DEBUG_FS) [Y/?] y
Run 'make headers_check' when building vmlinux (HEADERS_CHECK) [Y/n/?]
Enable full Section mismatch analysis (DEBUG_SECTION_MISMATCH) [Y/n/?]
Kernel debugging (DEBUG_KERNEL) [Y/n/?]
Debug shared IRQ handlers (DEBUG_SHIRQ) [Y/n/?]
Detect Hard and Soft Lockups (LOCKUP_DETECTOR) [Y/n/?]
Panic (Reboot) On Hard Lockups (BOOTPARAM_HARDLOCKUP_PANIC) [N/y/?]
Panic (Reboot) On Soft Lockups (BOOTPARAM_SOFTLOCKUP_PANIC) [N/y/?]
Detect Hung Tasks (DETECT_HUNG_TASK) [Y/n/?]
Default timeout for hung task detection (in seconds) (DEFAULT_HUNG_TASK_TIMEOUT) [120]
Panic (Reboot) On Hung Tasks (BOOTPARAM_HUNG_TASK_PANIC) [N/y/?] y
Collect scheduler debugging info (SCHED_DEBUG) [Y/?] y
Collect scheduler statistics (SCHEDSTATS) [Y/?] y
Collect kernel timers statistics (TIMER_STATS) [Y/n/?]
Debug object operations (DEBUG_OBJECTS) [N/y/?] y
Debug objects selftest (DEBUG_OBJECTS_SELFTEST) [N/y/?] (NEW) y
Debug objects in freed memory (DEBUG_OBJECTS_FREE) [N/y/?] (NEW) y
Debug timer objects (DEBUG_OBJECTS_TIMERS) [N/y/?] (NEW) y
Debug work objects (DEBUG_OBJECTS_WORK) [N/y/?] (NEW) y
Debug RCU callbacks objects (DEBUG_OBJECTS_RCU_HEAD) [N/y/?] (NEW) y
Debug percpu counter objects (DEBUG_OBJECTS_PERCPU_COUNTER) [N/y/?] (NEW) y
debug_objects bootup default value (0-1) (DEBUG_OBJECTS_ENABLE_DEFAULT) [1] (NEW)
Debug slab memory allocations (DEBUG_SLAB) [N/y/?] y
Memory leak debugging (DEBUG_SLAB_LEAK) [N/y] (NEW) y
RT Mutex debugging, deadlock detection (DEBUG_RT_MUTEXES) [N/y/?] y
Built-in scriptable tester for rt-mutexes (RT_MUTEX_TESTER) [N/y/?] y
Spinlock and rw-lock debugging: basic checks (DEBUG_SPINLOCK) [N/y/?] y
Mutex debugging: basic checks (DEBUG_MUTEXES) [N/y/?] y
Lock debugging: detect incorrect freeing of live locks (DEBUG_LOCK_ALLOC) [N/y/?] y
Lock debugging: prove locking correctness (PROVE_LOCKING) [N/y/?] y
RCU debugging: prove RCU correctness (PROVE_RCU) [N/y/?] (NEW) y
RCU debugging: don't disable PROVE_RCU on first splat (PROVE_RCU_REPEATEDLY) [N/y/?] (NEW) y
RCU debugging: sparse-based checks for pointer usage (SPARSE_RCU_POINTER) [N/y/?] y
Lock usage statistics (LOCK_STAT) [N/y/?] y
Lock dependency engine debugging (DEBUG_LOCKDEP) [N/y/?] (NEW) y
Spinlock debugging: sleep-inside-spinlock checking (DEBUG_SPINLOCK_SLEEP) [N/y/?] (NEW) y
Locking API boot-time self-tests (DEBUG_LOCKING_API_SELFTESTS) [N/y/?] y
Stack utilization instrumentation (DEBUG_STACK_USAGE) [N/y/?] y
kobject debugging (DEBUG_KOBJECT) [N/y/?] y
Verbose BUG() reporting (adds 70K) (DEBUG_BUGVERBOSE) [Y/n/?]
Compile the kernel with debug info (DEBUG_INFO) [Y/n/?]
Reduce debugging information (DEBUG_INFO_REDUCED) [N/y/?]
Debug VM (DEBUG_VM) [N/y/?] y
Debug VM translations (DEBUG_VIRTUAL) [N/y/?] y
Debug filesystem writers count (DEBUG_WRITECOUNT) [N/y/?] y
Debug memory initialisation (DEBUG_MEMORY_INIT) [Y/n/?] y
Debug linked list manipulation (DEBUG_LIST) [Y/n/?]
Linked list sorting test (TEST_LIST_SORT) [N/y/?] y
Debug SG table operations (DEBUG_SG) [N/y/?] y
Debug notifier call chains (DEBUG_NOTIFIERS) [N/y/?] y
Debug credential management (DEBUG_CREDENTIALS) [N/y/?] y
Compile the kernel with frame pointers (FRAME_POINTER) [Y/?] y
Delay each boot printk message by N milliseconds (BOOT_PRINTK_DELAY) [Y/n/?]
torture tests for RCU (RCU_TORTURE_TEST) [N/m/y/?] y
torture tests for RCU runnable by default (RCU_TORTURE_TEST_RUNNABLE) [N/y/?] (NEW) y
RCU CPU stall timeout in seconds (RCU_CPU_STALL_TIMEOUT) [60]
Kprobes sanity tests (KPROBES_SANITY_TEST) [N/y/?] y
Self test for the backtrace code (BACKTRACE_SELF_TEST) [N/m/y/?] y
Force extended block device numbers and spread them (DEBUG_BLOCK_EXT_DEVT) [N/y/?] y
Force weak per-cpu definitions (DEBUG_FORCE_WEAK_PER_CPU) [N/y/?]
Debug access to per_cpu maps (DEBUG_PER_CPU_MAPS) [N/y/?] y
Linux Kernel Dump Test Tool Module (LKDTM) [N/m/y/?] m
CPU notifier error injection module (CPU_NOTIFIER_ERROR_INJECT) [N/m/y/?] (NEW) m
Fault-injection framework (FAULT_INJECTION) [N/y/?] y
Fault-injection capability for kmalloc (FAILSLAB) [N/y/?] (NEW) y
Fault-injection capabilitiy for alloc_pages() (FAIL_PAGE_ALLOC) [N/y/?] (NEW) y
Fault-injection capability for disk IO (FAIL_MAKE_REQUEST) [N/y/?] (NEW) y
Fault-injection capability for faking disk interrupts (FAIL_IO_TIMEOUT) [N/y/?] (NEW) y
Debugfs entries for fault-injection capabilities (FAULT_INJECTION_DEBUG_FS) [N/y/?] (NEW) y
Latency measuring infrastructure (LATENCYTOP) [Y/n/?] y
Sysctl checks (SYSCTL_SYSCALL_CHECK) [N/y/?] (NEW) y
Debug page memory allocations (DEBUG_PAGEALLOC) [N/y/?] y
Deprecated power event trace API, to be removed (EVENT_POWER_TRACING_DEPRECATED) [Y/n/?] (NEW) y
*
* Tracers
*
Tracers (FTRACE) [Y/n/?]
Kernel Function Tracer (FUNCTION_TRACER) [Y/?] y
Kernel Function Graph Tracer (FUNCTION_GRAPH_TRACER) [Y/n/?]
Interrupts-off Latency Tracer (IRQSOFF_TRACER) [N/y/?]
Scheduling Latency Tracer (SCHED_TRACER) [Y/n/?]
Trace syscalls (FTRACE_SYSCALLS) [Y/n/?]
Branch Profiling
> 1. No branch profiling (BRANCH_PROFILE_NONE)
2. Trace likely/unlikely profiler (PROFILE_ANNOTATED_BRANCHES)
3. Profile all if conditionals (PROFILE_ALL_BRANCHES)
choice[1-3?]: 3
Trace likely/unlikely instances (BRANCH_TRACER) [N/y/?] (NEW) y
Trace max stack (STACK_TRACER) [Y/n/?]
Support for tracing block IO actions (BLK_DEV_IO_TRACE) [Y/n/?]
Enable kprobes-based dynamic events (KPROBE_EVENT) [Y/n/?]
enable/disable ftrace tracepoints dynamically (DYNAMIC_FTRACE) [Y/n/?]
Kernel function profiler (FUNCTION_PROFILER) [Y/n/?]
Perform a startup test on ftrace (FTRACE_STARTUP_TEST) [N/y/?] y
Run selftest on syscall events (EVENT_TRACE_TEST_SYSCALLS) [N/y/?] (NEW) y
Memory mapped IO tracing (MMIOTRACE) [N/y/?] y
Test module for mmiotrace (MMIOTRACE_TEST) [N/m/?] (NEW) m
Ring buffer benchmark stress tester (RING_BUFFER_BENCHMARK) [M/n/y/?] y
Remote debugging over FireWire early on boot (PROVIDE_OHCI1394_DMA_INIT) [Y/n/?] y
Remote debugging over FireWire with firewire-ohci (FIREWIRE_OHCI_REMOTE_DMA) [N/y/?] y
Build targets in Documentation/ tree (BUILD_DOCSRC) [N/y/?] y
Enable dynamic printk() support (DYNAMIC_DEBUG) [Y/n/?]
Enable debugging of DMA-API usage (DMA_API_DEBUG) [N/y/?] y
Perform an atomic64_t self-test at boot (ATOMIC64_SELFTEST) [N/y/?] y
Self test for hardware accelerated raid6 recovery (ASYNC_RAID6_TEST) [N/m/?] m
*
* Sample kernel code
*
Sample kernel code (SAMPLES) [N/y/?] y
Build tracepoints examples -- loadable modules only (SAMPLE_TRACEPOINTS) [N/m/?] (NEW) m
Build trace_events examples -- loadable modules only (SAMPLE_TRACE_EVENTS) [N/m/?] (NEW) m
Build kobject examples -- loadable modules only (SAMPLE_KOBJECT) [N/m/?] (NEW) m
Build kprobes examples -- loadable modules only (SAMPLE_KPROBES) [N/m/?] (NEW) m
Build kretprobes example -- loadable modules only (SAMPLE_KRETPROBES) [M/n] (NEW) m
Build kernel hardware breakpoint examples -- loadable module only (SAMPLE_HW_BREAKPOINT) [N/m/?] (NEW) m
Build kfifo examples -- loadable modules only (SAMPLE_KFIFO) [N/m/?] (NEW) m
*
* KGDB: kernel debugger
*
KGDB: kernel debugger (KGDB) [Y/n/?]
KGDB: use kgdb over the serial console (KGDB_SERIAL_CONSOLE) [Y/n/m/?]
KGDB: internal test suite (KGDB_TESTS) [Y/n/?]
KGDB: Run tests on boot (KGDB_TESTS_ON_BOOT) [N/y/?] y
KGDB: which internal kgdb tests to run (KGDB_TESTS_BOOT_STRING) [V1F100] (NEW)
KGDB: Allow debugging with traps in notifiers (KGDB_LOW_LEVEL_TRAP) [N/y/?] y
KGDB_KDB: include kdb frontend for kgdb (KGDB_KDB) [N/y/?] y
KGDB_KDB: keyboard as input device (KDB_KEYBOARD) [N/y/?] (NEW) y
Test kstrto*() family of functions at runtime (TEST_KSTRTOX) [N/m/y] m
Filter access to /dev/mem (STRICT_DEVMEM) [Y/n/?]
Enable verbose x86 bootup info messages (X86_VERBOSE_BOOTUP) [N/y/?] y
Early printk (EARLY_PRINTK) [Y/n/?]
Early printk via EHCI debug port (EARLY_PRINTK_DBGP) [Y/n/?]
Check for stack overflows (DEBUG_STACKOVERFLOW) [N/y/?] y
Export kernel pagetable layout to userspace via debugfs (X86_PTDUMP) [N/y/?] y
Write protect kernel read-only data structures (DEBUG_RODATA) [N/y/?] y
Testcase for the DEBUG_RODATA feature (DEBUG_RODATA_TEST) [Y/n/?] (NEW)
Set loadable kernel module data as NX and text as RO (DEBUG_SET_MODULE_RONX) [N/y/?] y
Testcase for the NX non-executable stack feature (DEBUG_NX_TEST) [M/n/?]
Enable IOMMU debugging (IOMMU_DEBUG) [N/y/?] y
Enable IOMMU stress-test mode (IOMMU_STRESS) [N/y/?] y
IOMMU leak tracing (IOMMU_LEAK) [N/y/?] (NEW) y
x86 instruction decoder selftest (X86_DECODER_SELFTEST) [N/y/?] y
IO delay type
> 1. port 0x80 based port-IO delay [recommended] (IO_DELAY_0X80)
2. port 0xed based port-IO delay (IO_DELAY_0XED)
3. udelay based port-IO delay (IO_DELAY_UDELAY)
4. no port-IO delay (IO_DELAY_NONE)
choice[1-4]:
Debug boot parameters (DEBUG_BOOT_PARAMS) [Y/n/?]
CPA self-test code (CPA_DEBUG) [N/y/?]
Allow gcc to uninline functions marked 'inline' (OPTIMIZE_INLINING) [Y/n/?]
주 : 자주는 보지 말자 -_-
주2 : 원래 LWN 기사 관련 번역을 어제 작성하다가 다 날려먹어서 멘붕에 그냥 간단한걸로..
'Skills > mY Technutz' 카테고리의 다른 글
Kernel Dump Analysis #14 (0) | 2018.02.13 |
---|---|
Kernel Crash dump Analysis - #13 (0) | 2017.12.20 |
Kexec/Kdump 의 제약사항에 대해서 (4) | 2016.01.14 |
Patch of Egypt timezone data - Urgent (0) | 2014.06.18 |
Kernel Dump Analysis - #11 (0) | 2014.03.12 |