early kernel crash when kmemleak is enabled
Subsystems (2)
Hi
Yesterday I enabled kmemleak for the first time and it greeted me with a panic :). It's fully reproducible in qemu (for some reason only when kvm is enabled). Dmesg, .config and disassembly of __queue_work (which it dies in) below. Booting with kmemleak=off does not crash the kernel.
[ 0.000000] Linux version 2.6.39-rc4-nv+ (marcin@joi) (gcc version 4.4.5 (Gentoo 4.4.5 p1.0, pie-0.4.5) ) #697 SMP PREEMPT Sun May 15 12:30:37 CEST 2011 [ 0.000000] Command line: console=ttyS0 [ 0.000000] BIOS-provided physical RAM map: [ 0.000000] BIOS-e820: 0000000000000000 - 000000000009f400 (usable) [ 0.000000] BIOS-e820: 000000000009f400 - 00000000000a0000 (reserved) [ 0.000000] BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved) [ 0.000000] BIOS-e820: 0000000000100000 - 0000000007ffd000 (usable) [ 0.000000] BIOS-e820: 0000000007ffd000 - 0000000008000000 (reserved) [ 0.000000] BIOS-e820: 00000000fffc0000 - 0000000100000000 (reserved) [ 0.000000] NX (Execute Disable) protection: active [ 0.000000] DMI 2.4 present. [ 0.000000] No AGP bridge found [ 0.000000] last_pfn = 0x7ffd max_arch_pfn = 0x400000000 [ 0.000000] PAT not supported by CPU. [ 0.000000] init_memory_mapping: 0000000000000000-0000000007ffd000 [ 0.000000] ACPI: RSDP 00000000000fdbb0 00014 (v00 BOCHS ) [ 0.000000] ACPI: RSDT 0000000007ffde30 00034 (v01 BOCHS BXPCRSDT 00000001 BXPC 00000001) [ 0.000000] ACPI: FACP 0000000007fffe70 00074 (v01 BOCHS BXPCFACP 00000001 BXPC 00000001) [ 0.000000] ACPI: DSDT 0000000007ffdfd0 01E22 (v01 BXPC BXDSDT 00000001 INTL 20090123) [ 0.000000] ACPI: FACS 0000000007fffe00 00040 [ 0.000000] ACPI: SSDT 0000000007ffdf90 00037 (v01 BOCHS BXPCSSDT 00000001 BXPC 00000001) [ 0.000000] ACPI: APIC 0000000007ffdeb0 00072 (v01 BOCHS BXPCAPIC 00000001 BXPC 00000001) [ 0.000000] ACPI: HPET 0000000007ffde70 00038 (v01 BOCHS BXPCHPET 00000001 BXPC 00000001) [ 0.000000] Zone PFN ranges: [ 0.000000] DMA 0x00000010 -> 0x00001000 [ 0.000000] DMA32 0x00001000 -> 0x00100000 [ 0.000000] Normal empty [ 0.000000] Movable zone start PFN for each node [ 0.000000] early_node_map[2] active PFN ranges [ 0.000000] 0: 0x00000010 -> 0x0000009f [ 0.000000] 0: 0x00000100 -> 0x00007ffd [ 0.000000] ACPI: PM-Timer IO Port: 0xb008 [ 0.000000] ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled) [ 0.000000] ACPI: IOAPIC (id[0x01] address[0xfec00000] gsi_base[0]) [ 0.000000] IOAPIC[0]: apic_id 1, version 17, address 0xfec00000, GSI 0-23 [ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl) [ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 5 global_irq 5 high level) [ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level) [ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 10 global_irq 10 high level) [ 0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 11 global_irq 11 high level) [ 0.000000] Using ACPI (MADT) for SMP configuration information [ 0.000000] ACPI: HPET id: 0x8086a201 base: 0xfed00000 [ 0.000000] SMP: Allowing 1 CPUs, 0 hotplug CPUs [ 0.000000] Allocating PCI resources starting at 8000000 (gap: 8000000:f7fc0000) [ 0.000000] setup_percpu: NR_CPUS:8 nr_cpumask_bits:8 nr_cpu_ids:1 nr_node_ids:1 [ 0.000000] PERCPU: Embedded 26 pages/cpu @ffff880007c00000 s76224 r8192 d22080 u2097152 [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32199 [ 0.000000] Kernel command line: console=ttyS0 [ 0.000000] PID hash table entries: 512 (order: 0, 4096 bytes) [ 0.000000] Dentry cache hash table entries: 16384 (order: 5, 131072 bytes) [ 0.000000] Inode-cache hash table entries: 8192 (order: 4, 65536 bytes) [ 0.000000] Checking aperture... [ 0.000000] No AGP bridge found [ 0.000000] Memory: 112972k/131060k available (4866k kernel code, 452k absent, 17636k reserved, 5923k data, 1740k init) [ 0.000000] SLUB: Genslabs=15, HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 [ 0.000000] Preemptable hierarchical RCU implementation. [ 0.000000] NR_IRQS:512 [ 0.000000] Console: colour VGA+ 80x25 [ 0.000000] console [ttyS0] enabled [ 0.000000] Fast TSC calibration using PIT [ 0.000000] Detected 2672.813 MHz processor. [ 0.020003] Calibrating delay loop (skipped), value calculated using timer frequency.. 5345.62 BogoMIPS (lpj=26728130) [ 0.021929] pid_max: default: 32768 minimum: 301 [ 0.023380] Mount-cache hash table entries: 256 [ 0.030625] mce: CPU supports 10 MCE banks [ 0.031614] SMP alternatives: switching to UP code [ 0.040891] debug: unmapping init memory ffffffff81c3e000..ffffffff81c43000 [ 0.042167] ACPI: Core revision 20110316 [ 0.077518] Setting APIC routing to flat [ 0.079415] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1 [ 0.100047] BUG: unable to handle kernel NULL pointer dereference at (null) [ 0.101416] IP: [<ffffffff810854d1>] __queue_work+0x29/0x41a [ 0.102390] PGD 0 [ 0.102751] Oops: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC [ 0.103711] last sysfs file: [ 0.104216] CPU 0 [ 0.104535] Modules linked in: [ 0.105117] [ 0.105379] Pid: 1, comm: swapper Not tainted 2.6.39-rc4-nv+ #697 Bochs Bochs [ 0.106605] RIP: 0010:[<ffffffff810854d1>] [<ffffffff810854d1>] __queue_work+0x29/0x41a [ 0.108001] RSP: 0018:ffff880007c03c90 EFLAGS: 00010246 [ 0.108912] RAX: 0000000000000000 RBX: ffffffff81a4fa80 RCX: ffff880007c03bb0 [ 0.110000] RDX: 0000000000000003 RSI: ffffffff81e41de8 RDI: 0000000000000001 [ 0.110000] RBP: ffff880007c03ce0 R08: ffffffff81e41de0 R09: 000000000000005a [ 0.110000] R10: ffffea0000000008 R11: 0000000000000000 R12: 0000000000000000 [ 0.110000] R13: 0000000000000000 R14: 0000000000000000 R15: ffff88000794b150 [ 0.110000] FS: 0000000000000000(0000) GS:ffff880007c00000(0000) knlGS:0000000000000000 [ 0.110000] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b [ 0.110000] CR2: 0000000000000000 CR3: 0000000001a23000 CR4: 00000000000006f0 [ 0.110000] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 0.110000] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 [ 0.110000] Process swapper (pid: 1, threadinfo ffff880007ac2000, task ffff880007ac8000) [ 0.110000] Stack: [ 0.110000] 0000000000000000 0000000000000000 0000000000000000 0000000000000000 [ 0.110000] 0000000000000000 0000000000000000 ffffffff81a4fa80 ffff88000794b000 [ 0.110000] 0000000000000000 ffff88000794b150 ffff880007c03cf0 ffffffff81085910 [ 0.110000] Call Trace: [ 0.110000] <IRQ> [ 0.110000] [<ffffffff81085910>] queue_work_on+0x16/0x1d [ 0.110000] [<ffffffff81085abc>] queue_work+0x29/0x55 [ 0.110000] [<ffffffff81085afb>] schedule_work+0x13/0x15 [ 0.110000] [<ffffffff81242de1>] free_object+0x90/0x95 [ 0.110000] [<ffffffff81242f6d>] debug_check_no_obj_freed+0x187/0x1d3 [ 0.110000] [<ffffffff814b6504>] ? _raw_spin_unlock_irqrestore+0x30/0x4d [ 0.110000] [<ffffffff8110bd14>] ? free_object_rcu+0x68/0x6d [ 0.110000] [<ffffffff8110890c>] kmem_cache_free+0x64/0x12c [ 0.110000] [<ffffffff8110bd14>] free_object_rcu+0x68/0x6d [ 0.110000] [<ffffffff810b58bc>] __rcu_process_callbacks+0x1b6/0x2d9 [ 0.110000] [<ffffffff81095c9f>] ? tick_handle_periodic+0x1f/0x6c [ 0.110000] [<ffffffff810b5a5a>] rcu_process_callbacks+0x7b/0x83 [ 0.110000] [<ffffffff810733b2>] __do_softirq+0x117/0x207 [ 0.110000] [<ffffffff810b05d3>] ? handle_irq_event+0x47/0x5c [ 0.110000] [<ffffffff814bd0cc>] call_softirq+0x1c/0x30 [ 0.110000] [<ffffffff81034bc4>] do_softirq+0x38/0x80 [ 0.110000] [<ffffffff810730ed>] irq_exit+0x4e/0xa0 [ 0.110000] [<ffffffff8103429a>] do_IRQ+0x97/0xae [ 0.110000] [<ffffffff814b6853>] common_interrupt+0x13/0x13 [ 0.110000] <EOI> [ 0.110000] [<ffffffff814b92b8>] ? add_preempt_count+0x62/0xc5 [ 0.110000] [<ffffffff8123d28f>] delay_tsc+0x78/0xcb [ 0.110000] [<ffffffff8123d32a>] __const_udelay+0x25/0x27 [ 0.110000] [<ffffffff81aaae16>] timer_irq_works+0x3c/0x77 [ 0.110000] [<ffffffff81aab422>] setup_IO_APIC+0x337/0x755 [ 0.110000] [<ffffffff81aa956c>] native_smp_prepare_cpus+0x3a0/0x451 [ 0.110000] [<ffffffff814b64b9>] ? _raw_spin_unlock_irq+0x19/0x34 [ 0.110000] [<ffffffff81a9e52b>] kernel_init+0x4e/0x135 [ 0.110000] [<ffffffff8123e0fe>] ? trace_hardirqs_on_thunk+0x3a/0x3c [ 0.110000] [<ffffffff814bcfd4>] kernel_thread_helper+0x4/0x10 [ 0.110000] [<ffffffff81063d70>] ? finish_task_switch+0x5a/0xcb [ 0.110000] [<ffffffff814b64b9>] ? _raw_spin_unlock_irq+0x19/0x34 [ 0.110000] [<ffffffff814b68b1>] ? retint_restore_args+0xe/0xe [ 0.110000] [<ffffffff81a9e4dd>] ? parse_early_options+0x20/0x20 [ 0.110000] [<ffffffff814bcfd0>] ? gs_change+0xb/0xb [ 0.110000] Code: c9 c3 55 48 89 e5 41 57 41 56 41 55 49 89 f5 41 54 48 c7 c6 a0 b7 a3 81 53 41 89 fc 48 83 ec 28 48 89 d3 48 89 d7 e8 63 d7 1b 00 [ 0.110000] f6 45 00 40 0f 84 6b 01 00 00 b8 09 00 00 00 83 3d 28 10 a0 [ 0.110000] RIP [<ffffffff810854d1>] __queue_work+0x29/0x41a [ 0.110000] RSP <ffff880007c03c90> [ 0.110000] CR2: 0000000000000000 [ 0.110005] ---[ end trace 4eaa2a86a8e2da22 ]--- [ 0.110788] Kernel panic - not syncing: Fatal exception in interrupt [ 0.120003] Pid: 1, comm: swapper Tainted: G D 2.6.39-rc4-nv+ #697 [ 0.121184] Call Trace: [ 0.121609] <IRQ> [<ffffffff814b2e58>] panic+0x96/0x1a1 [ 0.122558] [<ffffffff814b7667>] oops_end+0x81/0x8e [ 0.123417] [<ffffffff81052ac3>] no_context+0x1f7/0x206 [ 0.124352] [<ffffffff81052c62>] __bad_area_nosemaphore+0x190/0x1b3 [ 0.125427] [<ffffffff81052c93>] bad_area_nosemaphore+0xe/0x10 [ 0.126436] [<ffffffff814b8f80>] do_page_fault+0x265/0x48a [ 0.127377] [<ffffffff8123e13a>] ? trace_hardirqs_off_thunk+0x3a/0x6c [ 0.128488] [<ffffffff814b6acf>] page_fault+0x1f/0x30 [ 0.130004] [<ffffffff810854d1>] ? __queue_work+0x29/0x41a [ 0.130965] [<ffffffff81085910>] queue_work_on+0x16/0x1d [ 0.131884] [<ffffffff81085abc>] queue_work+0x29/0x55 [ 0.132762] [<ffffffff81085afb>] schedule_work+0x13/0x15 [ 0.133685] [<ffffffff81242de1>] free_object+0x90/0x95 [ 0.134572] [<ffffffff81242f6d>] debug_check_no_obj_freed+0x187/0x1d3 [ 0.135678] [<ffffffff814b6504>] ? _raw_spin_unlock_irqrestore+0x30/0x4d [ 0.136850] [<ffffffff8110bd14>] ? free_object_rcu+0x68/0x6d [ 0.137835] [<ffffffff8110890c>] kmem_cache_free+0x64/0x12c [ 0.138810] [<ffffffff8110bd14>] free_object_rcu+0x68/0x6d [ 0.139786] [<ffffffff810b58bc>] __rcu_process_callbacks+0x1b6/0x2d9 [ 0.140004] [<ffffffff81095c9f>] ? tick_handle_periodic+0x1f/0x6c [ 0.141106] [<ffffffff810b5a5a>] rcu_process_callbacks+0x7b/0x83 [ 0.142185] [<ffffffff810733b2>] __do_softirq+0x117/0x207 [ 0.143167] [<ffffffff810b05d3>] ? handle_irq_event+0x47/0x5c [ 0.144199] [<ffffffff814bd0cc>] call_softirq+0x1c/0x30 [ 0.145142] [<ffffffff81034bc4>] do_softirq+0x38/0x80 [ 0.146062] [<ffffffff810730ed>] irq_exit+0x4e/0xa0 [ 0.146940] [<ffffffff8103429a>] do_IRQ+0x97/0xae [ 0.147784] [<ffffffff814b6853>] common_interrupt+0x13/0x13 [ 0.148768] <EOI> [<ffffffff814b92b8>] ? add_preempt_count+0x62/0xc5 [ 0.150791] [<ffffffff8123d28f>] delay_tsc+0x78/0xcb [ 0.151645] [<ffffffff8123d32a>] __const_udelay+0x25/0x27 [ 0.152594] [<ffffffff81aaae16>] timer_irq_works+0x3c/0x77 [ 0.153545] [<ffffffff81aab422>] setup_IO_APIC+0x337/0x755 [ 0.154533] [<ffffffff81aa956c>] native_smp_prepare_cpus+0x3a0/0x451 [ 0.155627] [<ffffffff814b64b9>] ? _raw_spin_unlock_irq+0x19/0x34 [ 0.156679] [<ffffffff81a9e52b>] kernel_init+0x4e/0x135 [ 0.157590] [<ffffffff8123e0fe>] ? trace_hardirqs_on_thunk+0x3a/0x3c [ 0.158680] [<ffffffff814bcfd4>] kernel_thread_helper+0x4/0x10 [ 0.160004] [<ffffffff81063d70>] ? finish_task_switch+0x5a/0xcb [ 0.161038] [<ffffffff814b64b9>] ? _raw_spin_unlock_irq+0x19/0x34 [ 0.162087] [<ffffffff814b68b1>] ? retint_restore_args+0xe/0xe [ 0.163086] [<ffffffff81a9e4dd>] ? parse_early_options+0x20/0x20 [ 0.164130] [<ffffffff814bcfd0>] ? gs_change+0xb/0xb
(gdb) disassemble __queue_work
Dump of assembler code for function __queue_work:
0x0000000000085318 <+0>: push %rbp 0x0000000000085319 <+1>: mov %rsp,%rbp 0x000000000008531c <+4>: push %r15 0x000000000008531e <+6>: push %r14 0x0000000000085320 <+8>: push %r13 0x0000000000085322 <+10>: mov %rsi,%r13 0x0000000000085325 <+13>: push %r12 0x0000000000085327 <+15>: mov $0x0,%rsi 0x000000000008532e <+22>: push %rbx 0x000000000008532f <+23>: mov %edi,%r12d 0x0000000000085332 <+26>: sub $0x28,%rsp 0x0000000000085336 <+30>: mov %rdx,%rbx 0x0000000000085339 <+33>: mov %rdx,%rdi 0x000000000008533c <+36>: callq 0x85341 <__queue_work+41> <----------- this line ?! 0x0000000000085341 <+41>: testb $0x40,0x0(%r13) 0x0000000000085346 <+46>: je 0x854b7 <__queue_work+415> 0x000000000008534c <+52>: mov $0x9,%eax 0x0000000000085351 <+57>: cmpl $0x0,0x0(%rip) # 0x85358 <__queue_work+64> 0x0000000000085358 <+64>: js 0x8537b <__queue_work+99> 0x000000000008535a <+66>: xor %edx,%edx 0x000000000008535c <+68>: mov $0x8,%esi 0x0000000000085361 <+73>: mov 0x0(%rip),%rdi # 0x85368 <__queue_work+80> 0x0000000000085368 <+80>: callq 0x8536d <__queue_work+85> 0x000000000008536d <+85>: mov $0x8,%edx 0x0000000000085372 <+90>: cmp 0x0(%rip),%eax # 0x85378 <__queue_work+96> 0x0000000000085378 <+96>: cmovge %edx,%eax 0x000000000008537b <+99>: mov %eax,-0x34(%rbp) 0x000000000008537e <+102>: mov $0x0,%r14 0x0000000000085385 <+109>: mov $0x8,%r15d 0x000000000008538b <+115>: mov %gs:0x0,%rax 0x0000000000085394 <+124>: mov %rax,-0x40(%rbp) 0x0000000000085398 <+128>: jmpq 0x8547d <__queue_work+357> 0x000000000008539d <+133>: jne 0x853a8 <__queue_work+144> 0x000000000008539f <+135>: mov $0x0,%rdx 0x00000000000853a6 <+142>: jmp 0x853b6 <__queue_work+158> 0x00000000000853a8 <+144>: mov -0x34(%rbp),%eax 0x00000000000853ab <+147>: mov %r14,%rdx 0x00000000000853ae <+150>: add 0x0(,%rax,8),%rdx 0x00000000000853b6 <+158>: mov %rdx,%rdi 0x00000000000853b9 <+161>: mov %rdx,-0x48(%rbp) 0x00000000000853bd <+165>: callq 0x853c2 <__queue_work+170> 0x00000000000853c2 <+170>: xor %edi,%edi 0x00000000000853c4 <+172>: mov %rax,%rsi 0x00000000000853c7 <+175>: mov -0x48(%rbp),%rdx 0x00000000000853cb <+179>: mov 0x48(%rdx,%rdi,1),%rcx 0x00000000000853d0 <+184>: jmp 0x853f5 <__queue_work+221> 0x00000000000853d2 <+186>: mov %rcx,-0x48(%rbp) 0x00000000000853d6 <+190>: mov %rdx,%rdi 0x00000000000853d9 <+193>: callq 0x853de <__queue_work+198> 0x00000000000853de <+198>: mov -0x48(%rbp),%rcx 0x00000000000853e2 <+202>: mov 0x18(%rcx),%rax 0x00000000000853e6 <+206>: cmp %r13,0x8(%rax) 0x00000000000853ea <+210>: sete %al 0x00000000000853ed <+213>: jmpq 0x85489 <__queue_work+369> 0x00000000000853f2 <+218>: mov %rax,%rcx 0x00000000000853f5 <+221>: test %rcx,%rcx 0x00000000000853f8 <+224>: je 0x8540c <__queue_work+244> 0x00000000000853fa <+226>: mov (%rcx),%rax 0x00000000000853fd <+229>: mov -0x40(%rbp),%r8 0x0000000000085401 <+233>: prefetcht0 (%rax) 0x0000000000085404 <+236>: cmp %r8,0x30(%rcx) 0x0000000000085408 <+240>: jne 0x853f2 <__queue_work+218> 0x000000000008540a <+242>: jmp 0x853d2 <__queue_work+186> 0x000000000008540c <+244>: add $0x8,%rdi 0x0000000000085410 <+248>: cmp $0x200,%rdi 0x0000000000085417 <+255>: jne 0x853cb <__queue_work+179> 0x0000000000085419 <+257>: mov %rdx,%rdi 0x000000000008541c <+260>: callq 0x85421 <__queue_work+265> 0x0000000000085421 <+265>: mov -0x34(%rbp),%edx 0x0000000000085424 <+268>: mov $0x9,%eax 0x0000000000085429 <+273>: cmp 0x0(%rip),%edx # 0x8542f <__queue_work+279> 0x000000000008542f <+279>: jge 0x8547a <__queue_work+354> 0x0000000000085431 <+281>: cmp $0x8,%edx 0x0000000000085434 <+284>: jne 0x85457 <__queue_work+319> 0x0000000000085436 <+286>: cmpb $0x1,0x0(%rip) # 0x8543d <__queue_work+293> 0x000000000008543d <+293>: je 0x85457 <__queue_work+319> 0x000000000008543f <+295>: mov $0x6b,%esi 0x0000000000085444 <+300>: mov $0x0,%rdi 0x000000000008544b <+307>: callq 0x85450 <__queue_work+312> 0x0000000000085450 <+312>: movb $0x1,0x0(%rip) # 0x85457 <__queue_work+319> 0x0000000000085457 <+319>: mov -0x34(%rbp),%edx 0x000000000008545a <+322>: mov $0x8,%esi 0x000000000008545f <+327>: inc %edx 0x0000000000085461 <+329>: mov 0x0(%rip),%rdi # 0x85468 <__queue_work+336> 0x0000000000085468 <+336>: movslq %edx,%rdx 0x000000000008546b <+339>: callq 0x85470 <__queue_work+344> 0x0000000000085470 <+344>: cmp 0x0(%rip),%eax # 0x85476 <__queue_work+350> 0x0000000000085476 <+350>: cmovge %r15d,%eax 0x000000000008547a <+354>: mov %eax,-0x34(%rbp) 0x000000000008547d <+357>: cmpl $0x8,-0x34(%rbp) 0x0000000000085481 <+361>: jbe 0x8539d <__queue_work+133> 0x0000000000085487 <+367>: xor %eax,%eax 0x0000000000085489 <+369>: test %al,%al 0x000000000008548b <+371>: jne 0x854b7 <__queue_work+415> 0x000000000008548d <+373>: cmpb $0x1,0x0(%rip) # 0x85494 <__queue_work+380> 0x0000000000085494 <+380>: je 0x85723 <__queue_work+1035> 0x000000000008549a <+386>: mov $0x3e2,%esi 0x000000000008549f <+391>: mov $0x0,%rdi 0x00000000000854a6 <+398>: callq 0x854ab <__queue_work+403> 0x00000000000854ab <+403>: movb $0x1,0x0(%rip) # 0x854b2 <__queue_work+410> 0x00000000000854b2 <+410>: jmpq 0x85723 <__queue_work+1035> 0x00000000000854b7 <+415>: mov 0x0(%r13),%eax 0x00000000000854bb <+419>: test $0x2,%al 0x00000000000854bd <+421>: jne 0x85571 <__queue_work+601> 0x00000000000854c3 <+427>: cmp $0x8,%r12d 0x00000000000854c7 <+431>: jne 0x854df <__queue_work+455> 0x00000000000854c9 <+433>: mov %gs:0x0,%r12d 0x00000000000854d2 <+442>: mov $0x0,%r14 0x00000000000854d9 <+449>: cmp $0x8,%r12d 0x00000000000854dd <+453>: je 0x854f1 <__queue_work+473> 0x00000000000854df <+455>: mov $0x0,%r14 0x00000000000854e6 <+462>: mov %r12d,%edx 0x00000000000854e9 <+465>: add 0x0(,%rdx,8),%r14 0x00000000000854f1 <+473>: test $0x1,%al 0x00000000000854f3 <+475>: je 0x85564 <__queue_work+588> 0x00000000000854f5 <+477>: mov %rbx,%rdi 0x00000000000854f8 <+480>: callq 0x8243c <get_work_gcwq> 0x00000000000854fd <+485>: test %rax,%rax 0x0000000000085500 <+488>: je 0x85564 <__queue_work+588> 0x0000000000085502 <+490>: cmp %r14,%rax 0x0000000000085505 <+493>: je 0x85564 <__queue_work+588> 0x0000000000085507 <+495>: mov %rax,%rdi 0x000000000008550a <+498>: mov %rax,-0x48(%rbp) 0x000000000008550e <+502>: callq 0x85513 <__queue_work+507> 0x0000000000085513 <+507>: mov %rbx,%rcx 0x0000000000085516 <+510>: mov %rax,%r15 0x0000000000085519 <+513>: shr $0xb,%rcx 0x000000000008551d <+517>: mov %rbx,%rax 0x0000000000085520 <+520>: mov -0x48(%rbp),%rdx 0x0000000000085524 <+524>: shr $0x5,%rax 0x0000000000085528 <+528>: lea (%rcx,%rax,1),%rax 0x000000000008552c <+532>: and $0x3f,%eax 0x000000000008552f <+535>: mov 0x48(%rdx,%rax,8),%rax 0x0000000000085534 <+540>: test %rax,%rax 0x0000000000085537 <+543>: je 0x85559 <__queue_work+577> 0x0000000000085539 <+545>: mov (%rax),%rcx 0x000000000008553c <+548>: cmp %rbx,0x10(%rax) 0x0000000000085540 <+552>: prefetcht0 (%rcx) 0x0000000000085543 <+555>: je 0x8554a <__queue_work+562> 0x0000000000085545 <+557>: mov %rcx,%rax 0x0000000000085548 <+560>: jmp 0x85534 <__queue_work+540> 0x000000000008554a <+562>: mov 0x18(%rax),%rax 0x000000000008554e <+566>: cmp %r13,0x8(%rax) 0x0000000000085552 <+570>: jne 0x85559 <__queue_work+577> 0x0000000000085554 <+572>: mov %rdx,%r14 0x0000000000085557 <+575>: jmp 0x85587 <__queue_work+623> 0x0000000000085559 <+577>: mov %r15,%rsi 0x000000000008555c <+580>: mov %rdx,%rdi 0x000000000008555f <+583>: callq 0x85564 <__queue_work+588> 0x0000000000085564 <+588>: mov %r14,%rdi 0x0000000000085567 <+591>: callq 0x8556c <__queue_work+596> 0x000000000008556c <+596>: mov %rax,%r15 0x000000000008556f <+599>: jmp 0x85587 <__queue_work+623> 0x0000000000085571 <+601>: mov $0x0,%rdi 0x0000000000085578 <+608>: mov $0x0,%r14 0x000000000008557f <+615>: callq 0x85584 <__queue_work+620> 0x0000000000085584 <+620>: mov %rax,%r15 0x0000000000085587 <+623>: mov 0x28(%r14),%eax 0x000000000008558b <+627>: testb $0x2,0x0(%r13) 0x0000000000085590 <+632>: jne 0x855aa <__queue_work+658> 0x0000000000085592 <+634>: cmp 0x0(%rip),%eax # 0x85598 <__queue_work+640> 0x0000000000085598 <+640>: jae 0x855b5 <__queue_work+669> 0x000000000008559a <+642>: mov 0x8(%r13),%r13 0x000000000008559e <+646>: mov %eax,%eax 0x00000000000855a0 <+648>: add 0x0(,%rax,8),%r13 0x00000000000855a8 <+656>: jmp 0x855b8 <__queue_work+672> 0x00000000000855aa <+658>: cmp $0x8,%eax 0x00000000000855ad <+661>: jne 0x855b5 <__queue_work+669> 0x00000000000855af <+663>: mov 0x8(%r13),%r13 0x00000000000855b3 <+667>: jmp 0x855b8 <__queue_work+672> 0x00000000000855b5 <+669>: xor %r13d,%r13d 0x00000000000855b8 <+672>: cmpl $0x0,0x0(%rip) # 0x855bf <__queue_work+679> 0x00000000000855bf <+679>: je 0x8561c <__queue_work+772> 0x00000000000855c1 <+681>: mov %gs:0x0,%rax 0x00000000000855ca <+690>: incl -0x1fbc(%rax) 0x00000000000855d0 <+696>: mov 0x0(%rip),%rax # 0x855d7 <__queue_work+703> 0x00000000000855d7 <+703>: test %rax,%rax 0x00000000000855da <+706>: je 0x855fd <__queue_work+741> 0x00000000000855dc <+708>: mov 0x8(%rax),%rdi 0x00000000000855e0 <+712>: mov %rbx,%rcx 0x00000000000855e3 <+715>: mov %rax,-0x48(%rbp) 0x00000000000855e7 <+719>: mov %r13,%rdx 0x00000000000855ea <+722>: mov %r12d,%esi 0x00000000000855ed <+725>: callq *(%rax) 0x00000000000855ef <+727>: mov -0x48(%rbp),%rax 0x00000000000855f3 <+731>: add $0x10,%rax 0x00000000000855f7 <+735>: cmpq $0x0,(%rax) 0x00000000000855fb <+739>: jmp 0x855da <__queue_work+706> 0x00000000000855fd <+741>: mov %gs:0x0,%rax 0x0000000000085606 <+750>: decl -0x1fbc(%rax) 0x000000000008560c <+756>: mov -0x1fc8(%rax),%rax 0x0000000000085613 <+763>: test $0x8,%al 0x0000000000085615 <+765>: je 0x8561c <__queue_work+772> 0x0000000000085617 <+767>: callq 0x8561c <__queue_work+772> 0x000000000008561c <+772>: lea 0x8(%rbx),%rax 0x0000000000085620 <+776>: cmp %rax,0x8(%rbx) 0x0000000000085624 <+780>: je 0x8562a <__queue_work+786> 0x0000000000085626 <+782>: ud2a 0x0000000000085628 <+784>: jmp 0x85628 <__queue_work+784> 0x000000000008562a <+786>: movslq 0x10(%r13),%rax 0x000000000008562e <+790>: incl 0x18(%r13,%rax,4) 0x0000000000085633 <+795>: mov 0x10(%r13),%ecx 0x0000000000085637 <+799>: mov 0x54(%r13),%eax 0x000000000008563b <+803>: shl $0x5,%ecx 0x000000000008563e <+806>: cmp 0x58(%r13),%eax 0x0000000000085642 <+810>: jge 0x85706 <__queue_work+1006> 0x0000000000085648 <+816>: cmpl $0x0,0x0(%rip) # 0x8564f <__queue_work+823> 0x000000000008564f <+823>: je 0x856ae <__queue_work+918> 0x0000000000085651 <+825>: mov %gs:0x0,%rax 0x000000000008565a <+834>: incl -0x1fbc(%rax) 0x0000000000085660 <+840>: mov 0x0(%rip),%r12 # 0x85667 <__queue_work+847> 0x0000000000085667 <+847>: test %r12,%r12 0x000000000008566a <+850>: je 0x85689 <__queue_work+881> 0x000000000008566c <+852>: mov 0x8(%r12),%rdi 0x0000000000085671 <+857>: mov %rbx,%rsi 0x0000000000085674 <+860>: mov %ecx,-0x48(%rbp) 0x0000000000085677 <+863>: callq *(%r12) 0x000000000008567b <+867>: add $0x10,%r12 0x000000000008567f <+871>: mov -0x48(%rbp),%ecx 0x0000000000085682 <+874>: cmpq $0x0,(%r12) 0x0000000000085687 <+879>: jmp 0x8566a <__queue_work+850> 0x0000000000085689 <+881>: mov %gs:0x0,%rax 0x0000000000085692 <+890>: decl -0x1fbc(%rax) 0x0000000000085698 <+896>: mov -0x1fc8(%rax),%rax 0x000000000008569f <+903>: test $0x8,%al 0x00000000000856a1 <+905>: je 0x856ae <__queue_work+918> 0x00000000000856a3 <+907>: mov %ecx,-0x48(%rbp) 0x00000000000856a6 <+910>: callq 0x856ab <__queue_work+915> 0x00000000000856ab <+915>: mov -0x48(%rbp),%ecx 0x00000000000856ae <+918>: incl 0x54(%r13) 0x00000000000856b2 <+922>: mov 0x8(%r13),%rax 0x00000000000856b6 <+926>: lea 0x18(%r14),%rsi 0x00000000000856ba <+930>: testb $0x10,(%rax) 0x00000000000856bd <+933>: jne 0x856c4 <__queue_work+940> 0x00000000000856bf <+935>: mov %rsi,%rdx 0x00000000000856c2 <+938>: jmp 0x8570d <__queue_work+1013> 0x00000000000856c4 <+940>: mov 0x18(%r14),%rax 0x00000000000856c8 <+944>: sub $0x8,%rax 0x00000000000856cc <+948>: jmp 0x856ef <__queue_work+983> 0x00000000000856ce <+950>: mov (%rax),%r8 0x00000000000856d1 <+953>: xor %eax,%eax 0x00000000000856d3 <+955>: test $0x4,%r8b 0x00000000000856d7 <+959>: je 0x856e2 <__queue_work+970> 0x00000000000856d9 <+961>: mov %r8,%rax 0x00000000000856dc <+964>: and $0xfffffffffffffe00,%rax 0x00000000000856e2 <+970>: mov 0x8(%rax),%rax 0x00000000000856e6 <+974>: testb $0x10,(%rax) 0x00000000000856e9 <+977>: je 0x856ff <__queue_work+999> 0x00000000000856eb <+979>: lea -0x8(%rdi),%rax 0x00000000000856ef <+983>: mov 0x8(%rax),%rdi 0x00000000000856f3 <+987>: lea 0x8(%rax),%rdx 0x00000000000856f7 <+991>: prefetcht0 (%rdi) 0x00000000000856fa <+994>: cmp %rsi,%rdx 0x00000000000856fd <+997>: jne 0x856ce <__queue_work+950> 0x00000000000856ff <+999>: orl $0x10,0x2c(%r14) 0x0000000000085704 <+1004>: jmp 0x8570d <__queue_work+1013> 0x0000000000085706 <+1006>: or $0x2,%ecx 0x0000000000085709 <+1009>: lea 0x60(%r13),%rdx 0x000000000008570d <+1013>: mov %rbx,%rsi 0x0000000000085710 <+1016>: mov %r13,%rdi 0x0000000000085713 <+1019>: callq 0x82e4a <insert_work> 0x0000000000085718 <+1024>: mov %r15,%rsi 0x000000000008571b <+1027>: mov %r14,%rdi 0x000000000008571e <+1030>: callq 0x85723 <__queue_work+1035> 0x0000000000085723 <+1035>: add $0x28,%rsp 0x0000000000085727 <+1039>: pop %rbx 0x0000000000085728 <+1040>: pop %r12 0x000000000008572a <+1042>: pop %r13 0x000000000008572c <+1044>: pop %r14 0x000000000008572e <+1046>: pop %r15 0x0000000000085730 <+1048>: leaveq 0x0000000000085731 <+1049>: retq
End of assembler dump.
Ideas, patches welcomed.
Marcin
#
# Automatically generated make config: don't edit
# Linux/x86_64 2.6.39-rc4 Kernel Configuration
# Sun May 15 12:26:09 2011
#CONFIG_64BIT=y
# CONFIG_X86_32 is not setCONFIG_X86_64=yCONFIG_X86=yCONFIG_INSTRUCTION_DECODER=yCONFIG_OUTPUT_FORMAT="elf64-x86-64"CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"CONFIG_GENERIC_CMOS_UPDATE=yCONFIG_CLOCKSOURCE_WATCHDOG=yCONFIG_GENERIC_CLOCKEVENTS=yCONFIG_GENERIC_CLOCKEVENTS_BROADCAST=yCONFIG_LOCKDEP_SUPPORT=yCONFIG_STACKTRACE_SUPPORT=yCONFIG_HAVE_LATENCYTOP_SUPPORT=yCONFIG_MMU=yCONFIG_ZONE_DMA=yCONFIG_NEED_DMA_MAP_STATE=yCONFIG_NEED_SG_DMA_LENGTH=yCONFIG_GENERIC_ISA_DMA=yCONFIG_GENERIC_IOMAP=yCONFIG_GENERIC_BUG=yCONFIG_GENERIC_BUG_RELATIVE_POINTERS=yCONFIG_GENERIC_HWEIGHT=yCONFIG_ARCH_MAY_HAVE_PC_FDC=y
# CONFIG_RWSEM_GENERIC_SPINLOCK is not setCONFIG_RWSEM_XCHGADD_ALGORITHM=yCONFIG_ARCH_HAS_CPU_IDLE_WAIT=yCONFIG_GENERIC_CALIBRATE_DELAY=yCONFIG_GENERIC_TIME_VSYSCALL=yCONFIG_ARCH_HAS_CPU_RELAX=yCONFIG_ARCH_HAS_DEFAULT_IDLE=yCONFIG_ARCH_HAS_CACHE_LINE_SIZE=yCONFIG_HAVE_SETUP_PER_CPU_AREA=yCONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=yCONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=yCONFIG_HAVE_CPUMASK_OF_CPU_MAP=yCONFIG_ARCH_HIBERNATION_POSSIBLE=yCONFIG_ARCH_SUSPEND_POSSIBLE=yCONFIG_ZONE_DMA32=yCONFIG_ARCH_POPULATES_NODE_MAP=yCONFIG_AUDIT_ARCH=yCONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=yCONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=yCONFIG_X86_64_SMP=yCONFIG_X86_HT=yCONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx -fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 -fcall-saved-r11" # CONFIG_KTIME_SCALAR is not setCONFIG_ARCH_CPU_PROBE_RELEASE=yCONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"CONFIG_CONSTRUCTORS=yCONFIG_HAVE_IRQ_WORK=yCONFIG_IRQ_WORK=y
#
# General setup
#CONFIG_EXPERIMENTAL=yCONFIG_INIT_ENV_ARG_LIMIT=32CONFIG_CROSS_COMPILE=""CONFIG_LOCALVERSION="-nv"
# CONFIG_LOCALVERSION_AUTO is not setCONFIG_HAVE_KERNEL_GZIP=yCONFIG_HAVE_KERNEL_BZIP2=yCONFIG_HAVE_KERNEL_LZMA=yCONFIG_HAVE_KERNEL_XZ=yCONFIG_HAVE_KERNEL_LZO=y
# CONFIG_KERNEL_GZIP is not setCONFIG_KERNEL_BZIP2=y
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_XZ is not set
# CONFIG_KERNEL_LZO is not setCONFIG_SWAP=yCONFIG_SYSVIPC=yCONFIG_SYSVIPC_SYSCTL=yCONFIG_POSIX_MQUEUE=yCONFIG_POSIX_MQUEUE_SYSCTL=yCONFIG_BSD_PROCESS_ACCT=yCONFIG_BSD_PROCESS_ACCT_V3=y
# CONFIG_FHANDLE is not setCONFIG_TASKSTATS=yCONFIG_TASK_DELAY_ACCT=yCONFIG_TASK_XACCT=yCONFIG_TASK_IO_ACCOUNTING=y
# CONFIG_AUDIT is not setCONFIG_HAVE_GENERIC_HARDIRQS=y
#
# IRQ subsystem
#CONFIG_GENERIC_HARDIRQS=yCONFIG_HAVE_SPARSE_IRQ=yCONFIG_GENERIC_IRQ_PROBE=yCONFIG_GENERIC_IRQ_SHOW=yCONFIG_GENERIC_PENDING_IRQ=yCONFIG_IRQ_FORCED_THREADING=y
# CONFIG_SPARSE_IRQ is not set
#
# RCU Subsystem
#CONFIG_TREE_PREEMPT_RCU=yCONFIG_PREEMPT_RCU=y
# CONFIG_RCU_TRACE is not setCONFIG_RCU_FANOUT=64
# CONFIG_RCU_FANOUT_EXACT is not set
# CONFIG_TREE_RCU_TRACE is not setCONFIG_IKCONFIG=yCONFIG_IKCONFIG_PROC=yCONFIG_LOG_BUF_SHIFT=20CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
# CONFIG_CGROUPS is not setCONFIG_NAMESPACES=y
# CONFIG_UTS_NS is not set
# CONFIG_IPC_NS is not set
# CONFIG_USER_NS is not set
# CONFIG_PID_NS is not set
# CONFIG_NET_NS is not set
# CONFIG_SCHED_AUTOGROUP is not set
# CONFIG_SYSFS_DEPRECATED is not setCONFIG_RELAY=yCONFIG_BLK_DEV_INITRD=yCONFIG_INITRAMFS_SOURCE="/usr/src/initramfs"CONFIG_INITRAMFS_ROOT_UID=0CONFIG_INITRAMFS_ROOT_GID=0CONFIG_RD_GZIP=yCONFIG_RD_BZIP2=yCONFIG_RD_LZMA=yCONFIG_RD_XZ=yCONFIG_RD_LZO=y
# CONFIG_INITRAMFS_COMPRESSION_NONE is not setCONFIG_INITRAMFS_COMPRESSION_GZIP=y
# CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set
# CONFIG_INITRAMFS_COMPRESSION_LZMA is not set
# CONFIG_INITRAMFS_COMPRESSION_XZ is not set
# CONFIG_INITRAMFS_COMPRESSION_LZO is not setCONFIG_CC_OPTIMIZE_FOR_SIZE=yCONFIG_SYSCTL=yCONFIG_ANON_INODES=y
# CONFIG_EXPERT is not set
# CONFIG_EMBEDDED is not setCONFIG_UID16=yCONFIG_SYSCTL_SYSCALL=yCONFIG_KALLSYMS=yCONFIG_KALLSYMS_ALL=y
# CONFIG_KALLSYMS_EXTRA_PASS is not setCONFIG_HOTPLUG=yCONFIG_PRINTK=yCONFIG_BUG=yCONFIG_ELF_CORE=yCONFIG_PCSPKR_PLATFORM=yCONFIG_BASE_FULL=yCONFIG_FUTEX=yCONFIG_EPOLL=yCONFIG_SIGNALFD=yCONFIG_TIMERFD=yCONFIG_EVENTFD=yCONFIG_SHMEM=yCONFIG_AIO=yCONFIG_HAVE_PERF_EVENTS=y
#
# Kernel Performance Events And Counters
#CONFIG_PERF_EVENTS=y
# CONFIG_PERF_COUNTERS is not set
# CONFIG_DEBUG_PERF_USE_VMALLOC is not setCONFIG_VM_EVENT_COUNTERS=yCONFIG_PCI_QUIRKS=yCONFIG_SLUB_DEBUG=y
# CONFIG_COMPAT_BRK is not set
# CONFIG_SLAB is not setCONFIG_SLUB=yCONFIG_PROFILING=yCONFIG_TRACEPOINTS=yCONFIG_OPROFILE=y
# CONFIG_OPROFILE_EVENT_MULTIPLEX is not setCONFIG_HAVE_OPROFILE=yCONFIG_KPROBES=yCONFIG_JUMP_LABEL=yCONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=yCONFIG_KRETPROBES=yCONFIG_USER_RETURN_NOTIFIER=yCONFIG_HAVE_IOREMAP_PROT=yCONFIG_HAVE_KPROBES=yCONFIG_HAVE_KRETPROBES=yCONFIG_HAVE_OPTPROBES=yCONFIG_HAVE_ARCH_TRACEHOOK=yCONFIG_HAVE_DMA_ATTRS=yCONFIG_USE_GENERIC_SMP_HELPERS=yCONFIG_HAVE_REGS_AND_STACK_ACCESS_API=yCONFIG_HAVE_DMA_API_DEBUG=yCONFIG_HAVE_HW_BREAKPOINT=yCONFIG_HAVE_MIXED_BREAKPOINTS_REGS=yCONFIG_HAVE_USER_RETURN_NOTIFIER=yCONFIG_HAVE_PERF_EVENTS_NMI=yCONFIG_HAVE_ARCH_JUMP_LABEL=y
#
# GCOV-based kernel profiling
#
# CONFIG_GCOV_KERNEL is not set
# CONFIG_HAVE_GENERIC_DMA_COHERENT is not setCONFIG_SLABINFO=yCONFIG_RT_MUTEXES=yCONFIG_BASE_SMALL=0CONFIG_MODULES=y
# CONFIG_MODULE_FORCE_LOAD is not setCONFIG_MODULE_UNLOAD=y
# CONFIG_MODULE_FORCE_UNLOAD is not set
# CONFIG_MODVERSIONS is not set
# CONFIG_MODULE_SRCVERSION_ALL is not setCONFIG_STOP_MACHINE=yCONFIG_BLOCK=y
# CONFIG_BLK_DEV_BSG is not set
# CONFIG_BLK_DEV_INTEGRITY is not setCONFIG_BLOCK_COMPAT=y
#
# IO Schedulers
#CONFIG_IOSCHED_NOOP=y
# CONFIG_IOSCHED_DEADLINE is not set CONFIG_IOSCHED_CFQ=yCONFIG_DEFAULT_CFQ=y
# CONFIG_DEFAULT_NOOP is not set CONFIG_DEFAULT_IOSCHED="cfq" CONFIG_PREEMPT_NOTIFIERS=y
# CONFIG_INLINE_SPIN_TRYLOCK is not set
# CONFIG_INLINE_SPIN_TRYLOCK_BH is not set # CONFIG_INLINE_SPIN_LOCK is not set
# CONFIG_INLINE_SPIN_LOCK_BH is not set
# CONFIG_INLINE_SPIN_LOCK_IRQ is not set
# CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set # CONFIG_INLINE_SPIN_UNLOCK is not set
# CONFIG_INLINE_SPIN_UNLOCK_BH is not set # CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set # CONFIG_INLINE_READ_TRYLOCK is not set
# CONFIG_INLINE_READ_LOCK is not set
# CONFIG_INLINE_READ_LOCK_BH is not set
# CONFIG_INLINE_READ_LOCK_IRQ is not set
# CONFIG_INLINE_READ_LOCK_IRQSAVE is not set # CONFIG_INLINE_READ_UNLOCK is not set
# CONFIG_INLINE_READ_UNLOCK_BH is not set # CONFIG_INLINE_READ_UNLOCK_IRQ is not set # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set # CONFIG_INLINE_WRITE_TRYLOCK is not set
# CONFIG_INLINE_WRITE_LOCK is not set
# CONFIG_INLINE_WRITE_LOCK_BH is not set
# CONFIG_INLINE_WRITE_LOCK_IRQ is not set # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set # CONFIG_INLINE_WRITE_UNLOCK is not set
# CONFIG_INLINE_WRITE_UNLOCK_BH is not set # CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set # CONFIG_MUTEX_SPIN_ON_OWNER is not set CONFIG_FREEZER=y
#
# Processor type and features
#CONFIG_TICK_ONESHOT=yCONFIG_NO_HZ=yCONFIG_HIGH_RES_TIMERS=y CONFIG_GENERIC_CLOCKEVENTS_BUILD=y CONFIG_SMP=y
# CONFIG_X86_MPPARSE is not set
# CONFIG_X86_EXTENDED_PLATFORM is not set CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y CONFIG_SCHED_OMIT_FRAME_POINTER=y
# CONFIG_PARAVIRT_GUEST is not set CONFIG_NO_BOOTMEM=yCONFIG_MEMTEST=y
# CONFIG_MK8 is not set
# CONFIG_MPSC is not setCONFIG_MCORE2=y
# CONFIG_MATOM is not set
# CONFIG_GENERIC_CPU is not set CONFIG_X86_INTERNODE_CACHE_SHIFT=6 CONFIG_X86_CMPXCHG=yCONFIG_CMPXCHG_LOCAL=y CONFIG_X86_L1_CACHE_SHIFT=6 CONFIG_X86_XADD=yCONFIG_X86_WP_WORKS_OK=y CONFIG_X86_INTEL_USERCOPY=y CONFIG_X86_USE_PPRO_CHECKSUM=y CONFIG_X86_P6_NOP=yCONFIG_X86_TSC=yCONFIG_X86_CMPXCHG64=yCONFIG_X86_CMOV=y CONFIG_X86_MINIMUM_CPU_FAMILY=64 CONFIG_X86_DEBUGCTLMSR=y CONFIG_CPU_SUP_INTEL=yCONFIG_CPU_SUP_AMD=y CONFIG_CPU_SUP_CENTAUR=yCONFIG_HPET_TIMER=y CONFIG_HPET_EMULATE_RTC=yCONFIG_DMI=yCONFIG_GART_IOMMU=y
# CONFIG_CALGARY_IOMMU is not set
# CONFIG_AMD_IOMMU is not set CONFIG_SWIOTLB=yCONFIG_IOMMU_HELPER=y
# CONFIG_IOMMU_API is not set
# CONFIG_MAXSMP is not setCONFIG_NR_CPUS=8CONFIG_SCHED_SMT=yCONFIG_SCHED_MC=y
# CONFIG_IRQ_TIME_ACCOUNTING is not set
# CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set CONFIG_PREEMPT=yCONFIG_X86_LOCAL_APIC=yCONFIG_X86_IO_APIC=y
# CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS is not set CONFIG_X86_MCE=yCONFIG_X86_MCE_INTEL=y
# CONFIG_X86_MCE_AMD is not set CONFIG_X86_MCE_THRESHOLD=y
# CONFIG_X86_MCE_INJECT is not set CONFIG_X86_THERMAL_VECTOR=y
# CONFIG_I8K is not set
# CONFIG_MICROCODE is not set CONFIG_X86_MSR=yCONFIG_X86_CPUID=y CONFIG_ARCH_PHYS_ADDR_T_64BIT=y CONFIG_ARCH_DMA_ADDR_T_64BIT=y CONFIG_DIRECT_GBPAGES=y
# CONFIG_NUMA is not set CONFIG_ARCH_PROC_KCORE_TEXT=y CONFIG_ARCH_SPARSEMEM_DEFAULT=y CONFIG_ARCH_SPARSEMEM_ENABLE=y CONFIG_ARCH_SELECT_MEMORY_MODEL=y CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000 CONFIG_SELECT_MEMORY_MODEL=y CONFIG_SPARSEMEM_MANUAL=yCONFIG_SPARSEMEM=y CONFIG_HAVE_MEMORY_PRESENT=y CONFIG_SPARSEMEM_EXTREME=y CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y CONFIG_SPARSEMEM_ALLOC_MEM_MAP_TOGETHER=y CONFIG_SPARSEMEM_VMEMMAP=y CONFIG_HAVE_MEMBLOCK=y
# CONFIG_MEMORY_HOTPLUG is not set CONFIG_PAGEFLAGS_EXTENDED=y CONFIG_SPLIT_PTLOCK_CPUS=999999 CONFIG_COMPACTION=yCONFIG_MIGRATION=y CONFIG_PHYS_ADDR_T_64BIT=y CONFIG_ZONE_DMA_FLAG=1CONFIG_BOUNCE=yCONFIG_VIRT_TO_BUS=yCONFIG_MMU_NOTIFIER=y
# CONFIG_KSM is not set CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
# CONFIG_MEMORY_FAILURE is not set
# CONFIG_TRANSPARENT_HUGEPAGE is not set
# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set CONFIG_X86_RESERVE_LOW=64CONFIG_MTRR=yCONFIG_MTRR_SANITIZER=y CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=1 CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1 CONFIG_X86_PAT=y CONFIG_ARCH_USES_PG_UNCACHED=y
# CONFIG_EFI is not set
# CONFIG_SECCOMP is not set
# CONFIG_CC_STACKPROTECTOR is not set CONFIG_HZ_100=y
# CONFIG_HZ_250 is not set
# CONFIG_HZ_300 is not set
# CONFIG_HZ_1000 is not setCONFIG_HZ=100CONFIG_SCHED_HRTICK=y
# CONFIG_KEXEC is not set
# CONFIG_CRASH_DUMP is not set CONFIG_PHYSICAL_START=0x1000000
# CONFIG_RELOCATABLE is not set CONFIG_PHYSICAL_ALIGN=0x1000000 CONFIG_HOTPLUG_CPU=y
# CONFIG_COMPAT_VDSO is not set
# CONFIG_CMDLINE_BOOL is not set CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
#
# Power management and ACPI options
#CONFIG_SUSPEND=yCONFIG_SUSPEND_FREEZER=y
# CONFIG_HIBERNATION is not setCONFIG_PM_SLEEP=yCONFIG_PM_SLEEP_SMP=y
# CONFIG_PM_RUNTIME is not setCONFIG_PM=y
# CONFIG_PM_DEBUG is not setCONFIG_ACPI=yCONFIG_ACPI_SLEEP=yCONFIG_ACPI_PROCFS=yCONFIG_ACPI_PROCFS_POWER=y
# CONFIG_ACPI_POWER_METER is not set
# CONFIG_ACPI_EC_DEBUGFS is not setCONFIG_ACPI_PROC_EVENT=yCONFIG_ACPI_AC=y
# CONFIG_ACPI_BATTERY is not setCONFIG_ACPI_BUTTON=yCONFIG_ACPI_VIDEO=yCONFIG_ACPI_FAN=y
# CONFIG_ACPI_DOCK is not setCONFIG_ACPI_PROCESSOR=yCONFIG_ACPI_HOTPLUG_CPU=yCONFIG_ACPI_PROCESSOR_AGGREGATOR=yCONFIG_ACPI_THERMAL=y
# CONFIG_ACPI_CUSTOM_DSDT is not setCONFIG_ACPI_BLACKLIST_YEAR=0
# CONFIG_ACPI_DEBUG is not set
# CONFIG_ACPI_PCI_SLOT is not setCONFIG_X86_PM_TIMER=yCONFIG_ACPI_CONTAINER=y
# CONFIG_ACPI_SBS is not set
# CONFIG_ACPI_HED is not set
# CONFIG_ACPI_APEI is not set
# CONFIG_SFI is not set
#
# CPU Frequency scaling
#CONFIG_CPU_FREQ=yCONFIG_CPU_FREQ_TABLE=y
# CONFIG_CPU_FREQ_DEBUG is not set CONFIG_CPU_FREQ_STAT=y
# CONFIG_CPU_FREQ_STAT_DETAILS is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set # CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set CONFIG_CPU_FREQ_GOV_PERFORMANCE=y CONFIG_CPU_FREQ_GOV_POWERSAVE=y CONFIG_CPU_FREQ_GOV_USERSPACE=y CONFIG_CPU_FREQ_GOV_ONDEMAND=y CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
#
# CPUFreq processor drivers
#
# CONFIG_X86_PCC_CPUFREQ is not setCONFIG_X86_ACPI_CPUFREQ=y
# CONFIG_X86_POWERNOW_K8 is not set
# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
# CONFIG_X86_P4_CLOCKMOD is not set
#
# shared options # # CONFIG_X86_SPEEDSTEP_LIB is not set CONFIG_CPU_IDLE=y CONFIG_CPU_IDLE_GOV_LADDER=y CONFIG_CPU_IDLE_GOV_MENU=y # CONFIG_INTEL_IDLE is not set
#
# Memory power savings
#
# CONFIG_I7300_IDLE is not set
#
# Bus options (PCI etc.)
#CONFIG_PCI=yCONFIG_PCI_DIRECT=yCONFIG_PCI_MMCONFIG=yCONFIG_PCI_DOMAINS=y
# CONFIG_PCI_CNB20LE_QUIRK is not set
# CONFIG_DMAR is not set
# CONFIG_INTR_REMAP is not setCONFIG_PCIEPORTBUS=yCONFIG_PCIEAER=y
# CONFIG_PCIE_ECRC is not set
# CONFIG_PCIEAER_INJECT is not setCONFIG_PCIEASPM=y
# CONFIG_PCIEASPM_DEBUG is not setCONFIG_ARCH_SUPPORTS_MSI=yCONFIG_PCI_MSI=y
# CONFIG_PCI_DEBUG is not set
# CONFIG_PCI_STUB is not setCONFIG_HT_IRQ=y
# CONFIG_PCI_IOV is not setCONFIG_PCI_IOAPIC=yCONFIG_ISA_DMA_API=yCONFIG_AMD_NB=y
# CONFIG_PCCARD is not set
# CONFIG_HOTPLUG_PCI is not set
# CONFIG_RAPIDIO is not set
#
# Executable file formats / Emulations
#CONFIG_BINFMT_ELF=yCONFIG_COMPAT_BINFMT_ELF=y
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
# CONFIG_HAVE_AOUT is not set
# CONFIG_BINFMT_MISC is not setCONFIG_IA32_EMULATION=y
# CONFIG_IA32_AOUT is not setCONFIG_COMPAT=yCONFIG_COMPAT_FOR_U64_ALIGNMENT=yCONFIG_SYSVIPC_COMPAT=yCONFIG_HAVE_TEXT_POKE_SMP=yCONFIG_NET=y
#
# Networking options
#CONFIG_PACKET=yCONFIG_UNIX=yCONFIG_XFRM=yCONFIG_XFRM_USER=y
# CONFIG_XFRM_SUB_POLICY is not set
# CONFIG_XFRM_MIGRATE is not set
# CONFIG_XFRM_STATISTICS is not set
# CONFIG_NET_KEY is not setCONFIG_INET=y
# CONFIG_IP_MULTICAST is not set
# CONFIG_IP_ADVANCED_ROUTER is not set
# CONFIG_IP_PNP is not set
# CONFIG_NET_IPIP is not set
# CONFIG_NET_IPGRE_DEMUX is not set
# CONFIG_ARPD is not setCONFIG_SYN_COOKIES=y
# CONFIG_INET_AH is not set
# CONFIG_INET_ESP is not set
# CONFIG_INET_IPCOMP is not set
# CONFIG_INET_XFRM_TUNNEL is not set
# CONFIG_INET_TUNNEL is not setCONFIG_INET_XFRM_MODE_TRANSPORT=yCONFIG_INET_XFRM_MODE_TUNNEL=yCONFIG_INET_XFRM_MODE_BEET=y
# CONFIG_INET_LRO is not setCONFIG_INET_DIAG=yCONFIG_INET_TCP_DIAG=y
# CONFIG_TCP_CONG_ADVANCED is not setCONFIG_TCP_CONG_CUBIC=yCONFIG_DEFAULT_TCP_CONG="cubic"
# CONFIG_TCP_MD5SIG is not set
# CONFIG_IPV6 is not set
# CONFIG_NETWORK_SECMARK is not set
# CONFIG_NETWORK_PHY_TIMESTAMPING is not setCONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not setCONFIG_NETFILTER_ADVANCED=y
#
# Core Netfilter Configuration
#
# CONFIG_NETFILTER_NETLINK_QUEUE is not set
# CONFIG_NETFILTER_NETLINK_LOG is not set
# CONFIG_NF_CONNTRACK is not setCONFIG_NETFILTER_XTABLES=y
#
# Xtables combined modules
#
# CONFIG_NETFILTER_XT_MARK is not set
#
# Xtables targets
#
# CONFIG_NETFILTER_XT_TARGET_CLASSIFY is not set
# CONFIG_NETFILTER_XT_TARGET_IDLETIMER is not set
# CONFIG_NETFILTER_XT_TARGET_MARK is not set
# CONFIG_NETFILTER_XT_TARGET_NFLOG is not set
# CONFIG_NETFILTER_XT_TARGET_NFQUEUE is not set
# CONFIG_NETFILTER_XT_TARGET_RATEEST is not set
# CONFIG_NETFILTER_XT_TARGET_TEE is not set
# CONFIG_NETFILTER_XT_TARGET_TCPMSS is not set
#
# Xtables matches
#
# CONFIG_NETFILTER_XT_MATCH_ADDRTYPE is not set
# CONFIG_NETFILTER_XT_MATCH_COMMENT is not set
# CONFIG_NETFILTER_XT_MATCH_CPU is not set
# CONFIG_NETFILTER_XT_MATCH_DCCP is not set
# CONFIG_NETFILTER_XT_MATCH_DEVGROUP is not set
# CONFIG_NETFILTER_XT_MATCH_DSCP is not set
# CONFIG_NETFILTER_XT_MATCH_ESP is not set
# CONFIG_NETFILTER_XT_MATCH_HASHLIMIT is not set
# CONFIG_NETFILTER_XT_MATCH_HL is not set
# CONFIG_NETFILTER_XT_MATCH_IPRANGE is not set
# CONFIG_NETFILTER_XT_MATCH_LENGTH is not set
# CONFIG_NETFILTER_XT_MATCH_LIMIT is not set
# CONFIG_NETFILTER_XT_MATCH_MAC is not set
# CONFIG_NETFILTER_XT_MATCH_MARK is not set
# CONFIG_NETFILTER_XT_MATCH_MULTIPORT is not set
# CONFIG_NETFILTER_XT_MATCH_OWNER is not set
# CONFIG_NETFILTER_XT_MATCH_POLICY is not set
# CONFIG_NETFILTER_XT_MATCH_PKTTYPE is not set
# CONFIG_NETFILTER_XT_MATCH_QUOTA is not set
# CONFIG_NETFILTER_XT_MATCH_RATEEST is not set
# CONFIG_NETFILTER_XT_MATCH_REALM is not set
# CONFIG_NETFILTER_XT_MATCH_RECENT is not set
# CONFIG_NETFILTER_XT_MATCH_SCTP is not set
# CONFIG_NETFILTER_XT_MATCH_STATISTIC is not set
# CONFIG_NETFILTER_XT_MATCH_STRING is not set
# CONFIG_NETFILTER_XT_MATCH_TCPMSS is not set
# CONFIG_NETFILTER_XT_MATCH_TIME is not set
# CONFIG_NETFILTER_XT_MATCH_U32 is not set
# CONFIG_IP_VS is not set
#
# IP: Netfilter Configuration
#
# CONFIG_NF_DEFRAG_IPV4 is not set
# CONFIG_IP_NF_QUEUE is not setCONFIG_IP_NF_IPTABLES=y
# CONFIG_IP_NF_MATCH_AH is not set
# CONFIG_IP_NF_MATCH_ECN is not set
# CONFIG_IP_NF_MATCH_TTL is not setCONFIG_IP_NF_FILTER=yCONFIG_IP_NF_TARGET_REJECT=y
# CONFIG_IP_NF_TARGET_LOG is not set
# CONFIG_IP_NF_TARGET_ULOG is not set
# CONFIG_IP_NF_MANGLE is not set
# CONFIG_IP_NF_RAW is not set
# CONFIG_IP_NF_ARPTABLES is not set
# CONFIG_IP_DCCP is not set
# CONFIG_IP_SCTP is not set
# CONFIG_RDS is not set
# CONFIG_TIPC is not set
# CONFIG_ATM is not set
# CONFIG_L2TP is not set
# CONFIG_BRIDGE is not set
# CONFIG_NET_DSA is not set
# CONFIG_VLAN_8021Q is not set
# CONFIG_DECNET is not set
# CONFIG_LLC2 is not set
# CONFIG_IPX is not set
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
# CONFIG_PHONET is not set
# CONFIG_IEEE802154 is not set
# CONFIG_NET_SCHED is not set
# CONFIG_DCB is not set
# CONFIG_BATMAN_ADV is not setCONFIG_RPS=yCONFIG_RFS_ACCEL=yCONFIG_XPS=y
#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
# CONFIG_NET_TCPPROBE is not set
# CONFIG_NET_DROP_MONITOR is not set
# CONFIG_HAMRADIO is not set
# CONFIG_CAN is not set
# CONFIG_IRDA is not set
# CONFIG_BT is not set
# CONFIG_AF_RXRPC is not set
# CONFIG_WIRELESS is not set
# CONFIG_WIMAX is not set
# CONFIG_RFKILL is not set
# CONFIG_NET_9P is not set
# CONFIG_CAIF is not set
# CONFIG_CEPH_LIB is not set
#
# Device Drivers
#
#
# Generic Driver Options
#CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
# CONFIG_DEVTMPFS is not setCONFIG_STANDALONE=yCONFIG_PREVENT_FIRMWARE_BUILD=yCONFIG_FW_LOADER=yCONFIG_FIRMWARE_IN_KERNEL=yCONFIG_EXTRA_FIRMWARE=""
# CONFIG_DEBUG_DRIVER is not set
# CONFIG_DEBUG_DEVRES is not set
# CONFIG_SYS_HYPERVISOR is not setCONFIG_ARCH_NO_SYSDEV_OPS=y
# CONFIG_CONNECTOR is not set
# CONFIG_MTD is not set
# CONFIG_PARPORT is not setCONFIG_PNP=yCONFIG_PNP_DEBUG_MESSAGES=y
#
# Protocols
#CONFIG_PNPACPI=yCONFIG_BLK_DEV=y
# CONFIG_BLK_DEV_FD is not set
# CONFIG_BLK_CPQ_DA is not set
# CONFIG_BLK_CPQ_CISS_DA is not set
# CONFIG_BLK_DEV_DAC960 is not set
# CONFIG_BLK_DEV_UMEM is not set
# CONFIG_BLK_DEV_COW_COMMON is not setCONFIG_BLK_DEV_LOOP=y
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
#
# DRBD disabled because PROC_FS, INET or CONNECTOR not selected #
# CONFIG_BLK_DEV_NBD is not set
# CONFIG_BLK_DEV_SX8 is not set
# CONFIG_BLK_DEV_UB is not set
# CONFIG_BLK_DEV_RAM is not set
# CONFIG_CDROM_PKTCDVD is not set
# CONFIG_ATA_OVER_ETH is not set
# CONFIG_BLK_DEV_HD is not set
# CONFIG_BLK_DEV_RBD is not set
# CONFIG_SENSORS_LIS3LV02D is not set
# CONFIG_MISC_DEVICES is not setCONFIG_HAVE_IDE=y
# CONFIG_IDE is not set
#
# SCSI device support
#CONFIG_SCSI_MOD=y
# CONFIG_RAID_ATTRS is not setCONFIG_SCSI=yCONFIG_SCSI_DMA=y
# CONFIG_SCSI_TGT is not set
# CONFIG_SCSI_NETLINK is not set
# CONFIG_SCSI_PROC_FS is not set
#
# SCSI support type (disk, tape, CD-ROM)
#CONFIG_BLK_DEV_SD=y
# CONFIG_CHR_DEV_ST is not set
# CONFIG_CHR_DEV_OSST is not setCONFIG_BLK_DEV_SR=y
# CONFIG_BLK_DEV_SR_VENDOR is not setCONFIG_CHR_DEV_SG=y
# CONFIG_CHR_DEV_SCH is not setCONFIG_SCSI_MULTI_LUN=y
# CONFIG_SCSI_CONSTANTS is not set
# CONFIG_SCSI_LOGGING is not setCONFIG_SCSI_SCAN_ASYNC=yCONFIG_SCSI_WAIT_SCAN=m
#
# SCSI Transports
#
# CONFIG_SCSI_SPI_ATTRS is not set
# CONFIG_SCSI_FC_ATTRS is not set
# CONFIG_SCSI_ISCSI_ATTRS is not set
# CONFIG_SCSI_SAS_ATTRS is not set
# CONFIG_SCSI_SAS_LIBSAS is not set
# CONFIG_SCSI_SRP_ATTRS is not set
# CONFIG_SCSI_LOWLEVEL is not set
# CONFIG_SCSI_DH is not set
# CONFIG_SCSI_OSD_INITIATOR is not setCONFIG_ATA=y
# CONFIG_ATA_NONSTANDARD is not setCONFIG_ATA_VERBOSE_ERROR=yCONFIG_ATA_ACPI=y
# CONFIG_SATA_PMP is not set
#
# Controllers with non-SFF native interface
#CONFIG_SATA_AHCI=y
# CONFIG_SATA_AHCI_PLATFORM is not set
# CONFIG_SATA_INIC162X is not set
# CONFIG_SATA_ACARD_AHCI is not set
# CONFIG_SATA_SIL24 is not setCONFIG_ATA_SFF=y
#
# SFF controllers with custom DMA interface
#
# CONFIG_PDC_ADMA is not set
# CONFIG_SATA_QSTOR is not set
# CONFIG_SATA_SX4 is not setCONFIG_ATA_BMDMA=y
#
# SATA SFF controllers with BMDMA
#CONFIG_ATA_PIIX=y
# CONFIG_SATA_MV is not set
# CONFIG_SATA_NV is not set
# CONFIG_SATA_PROMISE is not set
# CONFIG_SATA_SIL is not set
# CONFIG_SATA_SIS is not set
# CONFIG_SATA_SVW is not set
# CONFIG_SATA_ULI is not set
# CONFIG_SATA_VIA is not set
# CONFIG_SATA_VITESSE is not set
#
# PATA SFF controllers with BMDMA
#
# CONFIG_PATA_ALI is not set
# CONFIG_PATA_AMD is not set
# CONFIG_PATA_ARASAN_CF is not set
# CONFIG_PATA_ARTOP is not set
# CONFIG_PATA_ATIIXP is not set
# CONFIG_PATA_ATP867X is not set
# CONFIG_PATA_CMD64X is not set
# CONFIG_PATA_CS5520 is not set
# CONFIG_PATA_CS5530 is not set
# CONFIG_PATA_CS5536 is not set
# CONFIG_PATA_CYPRESS is not set
# CONFIG_PATA_EFAR is not set
# CONFIG_PATA_HPT366 is not set
# CONFIG_PATA_HPT37X is not set
# CONFIG_PATA_HPT3X2N is not set
# CONFIG_PATA_HPT3X3 is not set
# CONFIG_PATA_IT8213 is not set
# CONFIG_PATA_IT821X is not setCONFIG_PATA_JMICRON=y
# CONFIG_PATA_MARVELL is not set
# CONFIG_PATA_NETCELL is not set
# CONFIG_PATA_NINJA32 is not set
# CONFIG_PATA_NS87415 is not set
# CONFIG_PATA_OLDPIIX is not set
# CONFIG_PATA_OPTIDMA is not set
# CONFIG_PATA_PDC2027X is not set
# CONFIG_PATA_PDC_OLD is not set
# CONFIG_PATA_RADISYS is not set
# CONFIG_PATA_RDC is not set
# CONFIG_PATA_SC1200 is not set
# CONFIG_PATA_SCH is not set
# CONFIG_PATA_SERVERWORKS is not set
# CONFIG_PATA_SIL680 is not set
# CONFIG_PATA_SIS is not set
# CONFIG_PATA_TOSHIBA is not set
# CONFIG_PATA_TRIFLEX is not set
# CONFIG_PATA_VIA is not set
# CONFIG_PATA_WINBOND is not set
#
# PIO-only SFF controllers
#
# CONFIG_PATA_CMD640_PCI is not set
# CONFIG_PATA_MPIIX is not set
# CONFIG_PATA_NS87410 is not set
# CONFIG_PATA_OPTI is not set
# CONFIG_PATA_RZ1000 is not set
#
# Generic fallback / legacy drivers
#
# CONFIG_PATA_ACPI is not set
# CONFIG_ATA_GENERIC is not set
# CONFIG_PATA_LEGACY is not set
# CONFIG_MD is not set
# CONFIG_TARGET_CORE is not set
# CONFIG_FUSION is not set
#
# IEEE 1394 (FireWire) support
#
# CONFIG_FIREWIRE is not set
# CONFIG_FIREWIRE_NOSY is not set
# CONFIG_I2O is not set
# CONFIG_MACINTOSH_DRIVERS is not setCONFIG_NETDEVICES=y
# CONFIG_DUMMY is not set
# CONFIG_BONDING is not set
# CONFIG_MACVLAN is not set
# CONFIG_EQUALIZER is not setCONFIG_TUN=y
# CONFIG_VETH is not set
# CONFIG_NET_SB1000 is not set
# CONFIG_ARCNET is not setCONFIG_MII=y
# CONFIG_PHYLIB is not set
# CONFIG_NET_ETHERNET is not setCONFIG_NETDEV_1000=y
# CONFIG_ACENIC is not set
# CONFIG_DL2K is not set
# CONFIG_E1000 is not set
# CONFIG_E1000E is not set
# CONFIG_IP1000 is not set
# CONFIG_IGB is not set
# CONFIG_IGBVF is not set
# CONFIG_NS83820 is not set
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not setCONFIG_R8169=y
# CONFIG_SIS190 is not set
# CONFIG_SKGE is not set
# CONFIG_SKY2 is not set
# CONFIG_VIA_VELOCITY is not set
# CONFIG_TIGON3 is not set
# CONFIG_BNX2 is not set
# CONFIG_CNIC is not set
# CONFIG_QLA3XXX is not set
# CONFIG_ATL1 is not set
# CONFIG_ATL1E is not set
# CONFIG_ATL1C is not set
# CONFIG_JME is not set
# CONFIG_STMMAC_ETH is not set
# CONFIG_PCH_GBE is not set
# CONFIG_NETDEV_10000 is not set
# CONFIG_TR is not set
# CONFIG_WLAN is not set
#
# Enable WiMAX (Networking options) to see the WiMAX drivers #
#
# USB Network Adapters
#
# CONFIG_USB_CATC is not set
# CONFIG_USB_KAWETH is not set
# CONFIG_USB_PEGASUS is not set
# CONFIG_USB_RTL8150 is not set
# CONFIG_USB_USBNET is not set
# CONFIG_USB_IPHETH is not set
# CONFIG_WAN is not set
#
# CAIF transport drivers
#
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
# CONFIG_NET_FC is not setCONFIG_NETCONSOLE=y
# CONFIG_NETCONSOLE_DYNAMIC is not setCONFIG_NETPOLL=y
# CONFIG_NETPOLL_TRAP is not setCONFIG_NET_POLL_CONTROLLER=y
# CONFIG_VMXNET3 is not set
# CONFIG_ISDN is not set
# CONFIG_PHONE is not set
#
# Input device support
#CONFIG_INPUT=y
# CONFIG_INPUT_FF_MEMLESS is not set
# CONFIG_INPUT_POLLDEV is not set
# CONFIG_INPUT_SPARSEKMAP is not set
#
# Userland interfaces
#CONFIG_INPUT_MOUSEDEV=y
# CONFIG_INPUT_MOUSEDEV_PSAUX is not setCONFIG_INPUT_MOUSEDEV_SCREEN_X=1920CONFIG_INPUT_MOUSEDEV_SCREEN_Y=1080
# CONFIG_INPUT_JOYDEV is not setCONFIG_INPUT_EVDEV=y
# CONFIG_INPUT_EVBUG is not set
#
# Input Device Drivers
#CONFIG_INPUT_KEYBOARD=y
# CONFIG_KEYBOARD_ADP5588 is not setCONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_QT1070 is not set
# CONFIG_KEYBOARD_QT2160 is not set
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_TCA6416 is not set
# CONFIG_KEYBOARD_MAX7359 is not set
# CONFIG_KEYBOARD_MCS is not set
# CONFIG_KEYBOARD_NEWTON is not set
# CONFIG_KEYBOARD_OPENCORES is not set
# CONFIG_KEYBOARD_STOWAWAY is not set
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_XTKBD is not setCONFIG_INPUT_MOUSE=yCONFIG_MOUSE_PS2=yCONFIG_MOUSE_PS2_ALPS=yCONFIG_MOUSE_PS2_LOGIPS2PP=yCONFIG_MOUSE_PS2_SYNAPTICS=yCONFIG_MOUSE_PS2_LIFEBOOK=yCONFIG_MOUSE_PS2_TRACKPOINT=y
# CONFIG_MOUSE_PS2_ELANTECH is not set
# CONFIG_MOUSE_PS2_SENTELIC is not set
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
# CONFIG_MOUSE_SERIAL is not set
# CONFIG_MOUSE_APPLETOUCH is not set
# CONFIG_MOUSE_BCM5974 is not set
# CONFIG_MOUSE_VSXXXAA is not set
# CONFIG_MOUSE_SYNAPTICS_I2C is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TABLET is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
# CONFIG_INPUT_MISC is not set
#
# Hardware I/O ports
#CONFIG_SERIO=yCONFIG_SERIO_I8042=y
# CONFIG_SERIO_SERPORT is not set
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PCIPS2 is not setCONFIG_SERIO_LIBPS2=y
# CONFIG_SERIO_RAW is not set
# CONFIG_SERIO_ALTERA_PS2 is not set
# CONFIG_SERIO_PS2MULT is not set
# CONFIG_GAMEPORT is not set
#
# Character devices
#CONFIG_VT=yCONFIG_CONSOLE_TRANSLATIONS=yCONFIG_VT_CONSOLE=yCONFIG_HW_CONSOLE=yCONFIG_VT_HW_CONSOLE_BINDING=yCONFIG_UNIX98_PTYS=y
# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not setCONFIG_LEGACY_PTYS=yCONFIG_LEGACY_PTY_COUNT=256
# CONFIG_SERIAL_NONSTANDARD is not set
# CONFIG_NOZOMI is not set
# CONFIG_N_GSM is not set
# CONFIG_DEVKMEM is not set
#
# Serial drivers
#CONFIG_SERIAL_8250=yCONFIG_SERIAL_8250_CONSOLE=yCONFIG_FIX_EARLYCON_MEM=yCONFIG_SERIAL_8250_PCI=yCONFIG_SERIAL_8250_PNP=yCONFIG_SERIAL_8250_NR_UARTS=4CONFIG_SERIAL_8250_RUNTIME_UARTS=4
# CONFIG_SERIAL_8250_EXTENDED is not set
#
# Non-8250 serial port support
#
# CONFIG_SERIAL_MFD_HSU is not setCONFIG_SERIAL_CORE=yCONFIG_SERIAL_CORE_CONSOLE=yCONFIG_CONSOLE_POLL=y
# CONFIG_SERIAL_JSM is not set
# CONFIG_SERIAL_TIMBERDALE is not set
# CONFIG_SERIAL_ALTERA_JTAGUART is not set
# CONFIG_SERIAL_ALTERA_UART is not set
# CONFIG_SERIAL_PCH_UART is not set
# CONFIG_IPMI_HANDLER is not set
# CONFIG_HW_RANDOM is not set
# CONFIG_NVRAM is not set
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
# CONFIG_MWAVE is not set
# CONFIG_RAW_DRIVER is not setCONFIG_HPET=yCONFIG_HPET_MMAP=y
# CONFIG_HANGCHECK_TIMER is not set
# CONFIG_TCG_TPM is not set
# CONFIG_TELCLOCK is not setCONFIG_DEVPORT=y
# CONFIG_RAMOOPS is not setCONFIG_I2C=yCONFIG_I2C_BOARDINFO=yCONFIG_I2C_COMPAT=yCONFIG_I2C_CHARDEV=y
# CONFIG_I2C_MUX is not setCONFIG_I2C_HELPER_AUTO=yCONFIG_I2C_ALGOBIT=y
#
# I2C Hardware Bus support
#
#
# PC SMBus host controller drivers
#
# CONFIG_I2C_ALI1535 is not set
# CONFIG_I2C_ALI1563 is not set
# CONFIG_I2C_ALI15X3 is not set
# CONFIG_I2C_AMD756 is not set
# CONFIG_I2C_AMD8111 is not setCONFIG_I2C_I801=y
# CONFIG_I2C_ISCH is not set
# CONFIG_I2C_PIIX4 is not set
# CONFIG_I2C_NFORCE2 is not set
# CONFIG_I2C_SIS5595 is not set
# CONFIG_I2C_SIS630 is not set
# CONFIG_I2C_SIS96X is not set
# CONFIG_I2C_VIA is not set
# CONFIG_I2C_VIAPRO is not set
#
# ACPI drivers
#
# CONFIG_I2C_SCMI is not set
#
# I2C system bus drivers (mostly embedded / system-on-chip) #
# CONFIG_I2C_INTEL_MID is not set
# CONFIG_I2C_OCORES is not set
# CONFIG_I2C_PCA_PLATFORM is not set
# CONFIG_I2C_PXA_PCI is not set
# CONFIG_I2C_SIMTEC is not set
# CONFIG_I2C_XILINX is not set
# CONFIG_I2C_EG20T is not set
#
# External I2C/SMBus adapter drivers
#
# CONFIG_I2C_DIOLAN_U2C is not set
# CONFIG_I2C_PARPORT_LIGHT is not set
# CONFIG_I2C_TAOS_EVM is not set
# CONFIG_I2C_TINY_USB is not set
#
# Other I2C/SMBus bus drivers
#
# CONFIG_I2C_STUB is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
# CONFIG_SPI is not set
#
# PPS support
#
# CONFIG_PPS is not set
#
# PPS generators support
#CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
# CONFIG_GPIOLIB is not set
# CONFIG_W1 is not setCONFIG_POWER_SUPPLY=y
# CONFIG_POWER_SUPPLY_DEBUG is not set
# CONFIG_PDA_POWER is not set
# CONFIG_TEST_POWER is not set
# CONFIG_BATTERY_DS2782 is not set
# CONFIG_BATTERY_BQ20Z75 is not set
# CONFIG_BATTERY_BQ27x00 is not set
# CONFIG_BATTERY_MAX17040 is not set
# CONFIG_BATTERY_MAX17042 is not setCONFIG_HWMON=y
# CONFIG_HWMON_VID is not set
# CONFIG_HWMON_DEBUG_CHIP is not set
#
# Native drivers
#
# CONFIG_SENSORS_ABITUGURU is not set
# CONFIG_SENSORS_ABITUGURU3 is not set
# CONFIG_SENSORS_AD7414 is not set
# CONFIG_SENSORS_AD7418 is not set
# CONFIG_SENSORS_ADM1021 is not set
# CONFIG_SENSORS_ADM1025 is not set
# CONFIG_SENSORS_ADM1026 is not set
# CONFIG_SENSORS_ADM1029 is not set
# CONFIG_SENSORS_ADM1031 is not set
# CONFIG_SENSORS_ADM9240 is not set
# CONFIG_SENSORS_ADT7411 is not set
# CONFIG_SENSORS_ADT7462 is not set
# CONFIG_SENSORS_ADT7470 is not set
# CONFIG_SENSORS_ADT7475 is not set
# CONFIG_SENSORS_ASC7621 is not set
# CONFIG_SENSORS_K8TEMP is not set
# CONFIG_SENSORS_K10TEMP is not set
# CONFIG_SENSORS_ASB100 is not set
# CONFIG_SENSORS_ATXP1 is not set
# CONFIG_SENSORS_DS620 is not set
# CONFIG_SENSORS_DS1621 is not set
# CONFIG_SENSORS_I5K_AMB is not set
# CONFIG_SENSORS_F71805F is not set
# CONFIG_SENSORS_F71882FG is not set
# CONFIG_SENSORS_F75375S is not set
# CONFIG_SENSORS_FSCHMD is not set
# CONFIG_SENSORS_G760A is not set
# CONFIG_SENSORS_GL518SM is not set
# CONFIG_SENSORS_GL520SM is not setCONFIG_SENSORS_CORETEMP=yCONFIG_SENSORS_PKGTEMP=y
# CONFIG_SENSORS_IT87 is not set
# CONFIG_SENSORS_JC42 is not set
# CONFIG_SENSORS_LINEAGE is not set
# CONFIG_SENSORS_LM63 is not set
# CONFIG_SENSORS_LM73 is not set
# CONFIG_SENSORS_LM75 is not set
# CONFIG_SENSORS_LM77 is not set
# CONFIG_SENSORS_LM78 is not set
# CONFIG_SENSORS_LM80 is not set
# CONFIG_SENSORS_LM83 is not set
# CONFIG_SENSORS_LM85 is not set
# CONFIG_SENSORS_LM87 is not set
# CONFIG_SENSORS_LM90 is not set
# CONFIG_SENSORS_LM92 is not set
# CONFIG_SENSORS_LM93 is not set
# CONFIG_SENSORS_LTC4151 is not set
# CONFIG_SENSORS_LTC4215 is not set
# CONFIG_SENSORS_LTC4245 is not set
# CONFIG_SENSORS_LTC4261 is not set
# CONFIG_SENSORS_LM95241 is not set
# CONFIG_SENSORS_MAX1619 is not set
# CONFIG_SENSORS_MAX6639 is not set
# CONFIG_SENSORS_MAX6650 is not set
# CONFIG_SENSORS_PC87360 is not set
# CONFIG_SENSORS_PC87427 is not set
# CONFIG_SENSORS_PCF8591 is not set
# CONFIG_PMBUS is not set
# CONFIG_SENSORS_SHT21 is not set
# CONFIG_SENSORS_SIS5595 is not set
# CONFIG_SENSORS_SMM665 is not set
# CONFIG_SENSORS_DME1737 is not set
# CONFIG_SENSORS_EMC1403 is not set
# CONFIG_SENSORS_EMC2103 is not set
# CONFIG_SENSORS_SMSC47M1 is not set
# CONFIG_SENSORS_SMSC47M192 is not set
# CONFIG_SENSORS_SMSC47B397 is not set
# CONFIG_SENSORS_SCH5627 is not set
# CONFIG_SENSORS_ADS1015 is not set
# CONFIG_SENSORS_ADS7828 is not set
# CONFIG_SENSORS_AMC6821 is not set
# CONFIG_SENSORS_THMC50 is not set
# CONFIG_SENSORS_TMP102 is not set
# CONFIG_SENSORS_TMP401 is not set
# CONFIG_SENSORS_TMP421 is not set
# CONFIG_SENSORS_VIA_CPUTEMP is not set
# CONFIG_SENSORS_VIA686A is not set
# CONFIG_SENSORS_VT1211 is not set
# CONFIG_SENSORS_VT8231 is not set
# CONFIG_SENSORS_W83781D is not set
# CONFIG_SENSORS_W83791D is not set
# CONFIG_SENSORS_W83792D is not set
# CONFIG_SENSORS_W83793 is not set
# CONFIG_SENSORS_W83795 is not set
# CONFIG_SENSORS_W83L785TS is not set
# CONFIG_SENSORS_W83L786NG is not set
# CONFIG_SENSORS_W83627HF is not set
# CONFIG_SENSORS_W83627EHF is not set
# CONFIG_SENSORS_APPLESMC is not set
#
# ACPI drivers
#
# CONFIG_SENSORS_ATK0110 is not setCONFIG_THERMAL=y
# CONFIG_THERMAL_HWMON is not set
# CONFIG_WATCHDOG is not setCONFIG_SSB_POSSIBLE=y
#
# Sonics Silicon Backplane
#
# CONFIG_SSB is not set
# CONFIG_MFD_SUPPORT is not set
# CONFIG_REGULATOR is not set
# CONFIG_MEDIA_SUPPORT is not set
#
# Graphics support
#CONFIG_AGP=y
# CONFIG_AGP_AMD64 is not set
# CONFIG_AGP_INTEL is not set
# CONFIG_AGP_SIS is not set
# CONFIG_AGP_VIA is not setCONFIG_VGA_ARB=yCONFIG_VGA_ARB_MAX_GPUS=2
# CONFIG_VGA_SWITCHEROO is not setCONFIG_DRM=yCONFIG_DRM_KMS_HELPER=yCONFIG_DRM_TTM=y
# CONFIG_DRM_TDFX is not set
# CONFIG_DRM_R128 is not set
# CONFIG_DRM_RADEON is not set
# CONFIG_DRM_MGA is not set
# CONFIG_DRM_SIS is not set
# CONFIG_DRM_VIA is not set
# CONFIG_DRM_SAVAGE is not set
# CONFIG_STUB_POULSBO is not set
# CONFIG_VGASTATE is not setCONFIG_VIDEO_OUTPUT_CONTROL=yCONFIG_FB=yCONFIG_FIRMWARE_EDID=y
# CONFIG_FB_DDC is not setCONFIG_FB_BOOT_VESA_SUPPORT=yCONFIG_FB_CFB_FILLRECT=yCONFIG_FB_CFB_COPYAREA=yCONFIG_FB_CFB_IMAGEBLIT=y
# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set
# CONFIG_FB_SYS_FILLRECT is not set
# CONFIG_FB_SYS_COPYAREA is not set
# CONFIG_FB_SYS_IMAGEBLIT is not set
# CONFIG_FB_FOREIGN_ENDIAN is not set
# CONFIG_FB_SYS_FOPS is not set
# CONFIG_FB_WMT_GE_ROPS is not set
# CONFIG_FB_SVGALIB is not set
# CONFIG_FB_MACMODES is not setCONFIG_FB_BACKLIGHT=y
# CONFIG_FB_MODE_HELPERS is not set
# CONFIG_FB_TILEBLITTING is not set
#
# Frame buffer hardware drivers
#
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_PM2 is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_ARC is not set
# CONFIG_FB_ASILIANT is not set
# CONFIG_FB_IMSTT is not set
# CONFIG_FB_VGA16 is not setCONFIG_FB_VESA=y
# CONFIG_FB_N411 is not set
# CONFIG_FB_HGA is not set
# CONFIG_FB_S1D13XXX is not set
# CONFIG_FB_NVIDIA is not set
# CONFIG_FB_RIVA is not set
# CONFIG_FB_LE80578 is not set
# CONFIG_FB_MATROX is not set
# CONFIG_FB_RADEON is not set
# CONFIG_FB_ATY128 is not set
# CONFIG_FB_ATY is not set
# CONFIG_FB_S3 is not set
# CONFIG_FB_SAVAGE is not set
# CONFIG_FB_SIS is not set
# CONFIG_FB_VIA is not set
# CONFIG_FB_NEOMAGIC is not set
# CONFIG_FB_KYRO is not set
# CONFIG_FB_3DFX is not set
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_VT8623 is not set
# CONFIG_FB_TRIDENT is not set
# CONFIG_FB_ARK is not set
# CONFIG_FB_PM3 is not set
# CONFIG_FB_CARMINE is not set
# CONFIG_FB_GEODE is not set
# CONFIG_FB_UDL is not set
# CONFIG_FB_VIRTUAL is not set
# CONFIG_FB_METRONOME is not set
# CONFIG_FB_MB862XX is not set
# CONFIG_FB_BROADSHEET is not setCONFIG_BACKLIGHT_LCD_SUPPORT=y
# CONFIG_LCD_CLASS_DEVICE is not setCONFIG_BACKLIGHT_CLASS_DEVICE=y
# CONFIG_BACKLIGHT_GENERIC is not set
# CONFIG_BACKLIGHT_PROGEAR is not set
# CONFIG_BACKLIGHT_APPLE is not set
# CONFIG_BACKLIGHT_SAHARA is not set
# CONFIG_BACKLIGHT_ADP8860 is not set
#
# Display device support
#
# CONFIG_DISPLAY_SUPPORT is not set
#
# Console display driver support
#CONFIG_VGA_CONSOLE=y CONFIG_VGACON_SOFT_SCROLLBACK=y CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=256 CONFIG_DUMMY_CONSOLE=y CONFIG_FRAMEBUFFER_CONSOLE=y
# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set # CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set # CONFIG_FONTS is not set
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=yCONFIG_LOGO=y
# CONFIG_LOGO_LINUX_MONO is not set
# CONFIG_LOGO_LINUX_VGA16 is not set CONFIG_LOGO_LINUX_CLUT224=yCONFIG_SOUND=yCONFIG_SOUND_OSS_CORE=y CONFIG_SOUND_OSS_CORE_PRECLAIM=yCONFIG_SND=yCONFIG_SND_TIMER=yCONFIG_SND_PCM=yCONFIG_SND_SEQUENCER=y
# CONFIG_SND_SEQ_DUMMY is not set CONFIG_SND_OSSEMUL=yCONFIG_SND_MIXER_OSS=yCONFIG_SND_PCM_OSS=y CONFIG_SND_PCM_OSS_PLUGINS=y CONFIG_SND_SEQUENCER_OSS=y
# CONFIG_SND_HRTIMER is not set CONFIG_SND_DYNAMIC_MINORS=y
# CONFIG_SND_SUPPORT_OLD_API is not set
# CONFIG_SND_VERBOSE_PROCFS is not set
# CONFIG_SND_VERBOSE_PRINTK is not set
# CONFIG_SND_DEBUG is not set CONFIG_SND_VMASTER=yCONFIG_SND_DMA_SGBUF=y
# CONFIG_SND_RAWMIDI_SEQ is not set
# CONFIG_SND_OPL3_LIB_SEQ is not set
# CONFIG_SND_OPL4_LIB_SEQ is not set
# CONFIG_SND_SBAWE_SEQ is not set
# CONFIG_SND_EMU10K1_SEQ is not set
# CONFIG_SND_DRIVERS is not set CONFIG_SND_PCI=y
# CONFIG_SND_AD1889 is not set
# CONFIG_SND_ALS300 is not set
# CONFIG_SND_ALS4000 is not set
# CONFIG_SND_ALI5451 is not set
# CONFIG_SND_ASIHPI is not set
# CONFIG_SND_ATIIXP is not set
# CONFIG_SND_ATIIXP_MODEM is not set
# CONFIG_SND_AU8810 is not set
# CONFIG_SND_AU8820 is not set
# CONFIG_SND_AU8830 is not set
# CONFIG_SND_AW2 is not set
# CONFIG_SND_AZT3328 is not set
# CONFIG_SND_BT87X is not set
# CONFIG_SND_CA0106 is not set
# CONFIG_SND_CMIPCI is not set
# CONFIG_SND_OXYGEN is not set
# CONFIG_SND_CS4281 is not set
# CONFIG_SND_CS46XX is not set
# CONFIG_SND_CS5530 is not set
# CONFIG_SND_CS5535AUDIO is not set
# CONFIG_SND_CTXFI is not set
# CONFIG_SND_DARLA20 is not set
# CONFIG_SND_GINA20 is not set
# CONFIG_SND_LAYLA20 is not set
# CONFIG_SND_DARLA24 is not set
# CONFIG_SND_GINA24 is not set
# CONFIG_SND_LAYLA24 is not set
# CONFIG_SND_MONA is not set
# CONFIG_SND_MIA is not set
# CONFIG_SND_ECHO3G is not set
# CONFIG_SND_INDIGO is not set
# CONFIG_SND_INDIGOIO is not set
# CONFIG_SND_INDIGODJ is not set
# CONFIG_SND_INDIGOIOX is not set
# CONFIG_SND_INDIGODJX is not set
# CONFIG_SND_EMU10K1 is not set
# CONFIG_SND_EMU10K1X is not set
# CONFIG_SND_ENS1370 is not set
# CONFIG_SND_ENS1371 is not set
# CONFIG_SND_ES1938 is not set
# CONFIG_SND_ES1968 is not set
# CONFIG_SND_FM801 is not set CONFIG_SND_HDA_INTEL=m
# CONFIG_SND_HDA_HWDEP is not set
# CONFIG_SND_HDA_INPUT_BEEP is not set
# CONFIG_SND_HDA_INPUT_JACK is not set
# CONFIG_SND_HDA_PATCH_LOADER is not set CONFIG_SND_HDA_CODEC_REALTEK=y
# CONFIG_SND_HDA_CODEC_ANALOG is not set
# CONFIG_SND_HDA_CODEC_SIGMATEL is not set
# CONFIG_SND_HDA_CODEC_VIA is not set
# CONFIG_SND_HDA_CODEC_HDMI is not set
# CONFIG_SND_HDA_CODEC_CIRRUS is not set
# CONFIG_SND_HDA_CODEC_CONEXANT is not set
# CONFIG_SND_HDA_CODEC_CA0110 is not set
# CONFIG_SND_HDA_CODEC_CMEDIA is not set
# CONFIG_SND_HDA_CODEC_SI3054 is not set CONFIG_SND_HDA_GENERIC=y
# CONFIG_SND_HDA_POWER_SAVE is not set
# CONFIG_SND_HDSP is not set
# CONFIG_SND_HDSPM is not set
# CONFIG_SND_ICE1712 is not set
# CONFIG_SND_ICE1724 is not set
# CONFIG_SND_INTEL8X0 is not set
# CONFIG_SND_INTEL8X0M is not set
# CONFIG_SND_KORG1212 is not set
# CONFIG_SND_LX6464ES is not set
# CONFIG_SND_MAESTRO3 is not set
# CONFIG_SND_MIXART is not set
# CONFIG_SND_NM256 is not set
# CONFIG_SND_PCXHR is not set
# CONFIG_SND_RIPTIDE is not set
# CONFIG_SND_RME32 is not set
# CONFIG_SND_RME96 is not set
# CONFIG_SND_RME9652 is not set
# CONFIG_SND_SONICVIBES is not set
# CONFIG_SND_TRIDENT is not set
# CONFIG_SND_VIA82XX is not set
# CONFIG_SND_VIA82XX_MODEM is not set
# CONFIG_SND_VIRTUOSO is not set
# CONFIG_SND_VX222 is not set
# CONFIG_SND_YMFPCI is not set
# CONFIG_SND_USB is not set
# CONFIG_SND_SOC is not set
# CONFIG_SOUND_PRIME is not set CONFIG_HID_SUPPORT=yCONFIG_HID=y
# CONFIG_HIDRAW is not set
#
# USB Input Devices
#CONFIG_USB_HID=y
# CONFIG_HID_PID is not set
# CONFIG_USB_HIDDEV is not set
#
# Special HID drivers
#
# CONFIG_HID_3M_PCT is not setCONFIG_HID_A4TECH=y
# CONFIG_HID_ACRUX is not setCONFIG_HID_APPLE=yCONFIG_HID_BELKIN=y
# CONFIG_HID_CANDO is not setCONFIG_HID_CHERRY=yCONFIG_HID_CHICONY=y
# CONFIG_HID_PRODIKEYS is not setCONFIG_HID_CYPRESS=y
# CONFIG_HID_DRAGONRISE is not set
# CONFIG_HID_EMS_FF is not setCONFIG_HID_EZKEY=y
# CONFIG_HID_KEYTOUCH is not setCONFIG_HID_KYE=y
# CONFIG_HID_UCLOGIC is not set
# CONFIG_HID_WALTOP is not set
# CONFIG_HID_GYRATION is not set
# CONFIG_HID_TWINHAN is not setCONFIG_HID_KENSINGTON=y
# CONFIG_HID_LCPOWER is not setCONFIG_HID_LOGITECH=y
# CONFIG_LOGITECH_FF is not set
# CONFIG_LOGIRUMBLEPAD2_FF is not set
# CONFIG_LOGIG940_FF is not set
# CONFIG_LOGIWII_FF is not setCONFIG_HID_MICROSOFT=y
# CONFIG_HID_MOSART is not setCONFIG_HID_MONTEREY=y
# CONFIG_HID_MULTITOUCH is not set
# CONFIG_HID_NTRIG is not set
# CONFIG_HID_ORTEK is not set
# CONFIG_HID_PANTHERLORD is not set
# CONFIG_HID_PETALYNX is not set
# CONFIG_HID_PICOLCD is not set
# CONFIG_HID_QUANTA is not set
# CONFIG_HID_ROCCAT is not set
# CONFIG_HID_ROCCAT_ARVO is not set
# CONFIG_HID_ROCCAT_KONE is not set
# CONFIG_HID_ROCCAT_KONEPLUS is not set
# CONFIG_HID_ROCCAT_KOVAPLUS is not set
# CONFIG_HID_ROCCAT_PYRA is not set
# CONFIG_HID_SAMSUNG is not set
# CONFIG_HID_SONY is not set
# CONFIG_HID_STANTUM is not set
# CONFIG_HID_SUNPLUS is not set
# CONFIG_HID_GREENASIA is not set
# CONFIG_HID_SMARTJOYPLUS is not set
# CONFIG_HID_TOPSEED is not set
# CONFIG_HID_THRUSTMASTER is not set
# CONFIG_HID_ZEROPLUS is not set
# CONFIG_HID_ZYDACRON is not setCONFIG_USB_SUPPORT=yCONFIG_USB_ARCH_HAS_HCD=yCONFIG_USB_ARCH_HAS_OHCI=yCONFIG_USB_ARCH_HAS_EHCI=yCONFIG_USB=y
# CONFIG_USB_DEBUG is not setCONFIG_USB_ANNOUNCE_NEW_DEVICES=y
#
# Miscellaneous USB options
#CONFIG_USB_DEVICEFS=yCONFIG_USB_DEVICE_CLASS=y
# CONFIG_USB_DYNAMIC_MINORS is not set
# CONFIG_USB_MON is not set
# CONFIG_USB_WUSB is not set
# CONFIG_USB_WUSB_CBAF is not set
#
# USB Host Controller Drivers
#
# CONFIG_USB_C67X00_HCD is not set
# CONFIG_USB_XHCI_HCD is not setCONFIG_USB_EHCI_HCD=y
# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
# CONFIG_USB_EHCI_TT_NEWSCHED is not set
# CONFIG_USB_OXU210HP_HCD is not set
# CONFIG_USB_ISP116X_HCD is not set
# CONFIG_USB_ISP1760_HCD is not set
# CONFIG_USB_ISP1362_HCD is not set
# CONFIG_USB_OHCI_HCD is not setCONFIG_USB_UHCI_HCD=y
# CONFIG_USB_SL811_HCD is not set
# CONFIG_USB_R8A66597_HCD is not set
# CONFIG_USB_WHCI_HCD is not set
# CONFIG_USB_HWA_HCD is not set
#
# USB Device Class drivers
#
# CONFIG_USB_ACM is not set
# CONFIG_USB_PRINTER is not set
# CONFIG_USB_WDM is not set
# CONFIG_USB_TMC is not set
#
# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may #
#
# also be needed; see USB_STORAGE Help for more info # CONFIG_USB_STORAGE=y # CONFIG_USB_STORAGE_DEBUG is not set # CONFIG_USB_STORAGE_REALTEK is not set # CONFIG_USB_STORAGE_DATAFAB is not set # CONFIG_USB_STORAGE_FREECOM is not set # CONFIG_USB_STORAGE_ISD200 is not set # CONFIG_USB_STORAGE_USBAT is not set # CONFIG_USB_STORAGE_SDDR09 is not set # CONFIG_USB_STORAGE_SDDR55 is not set # CONFIG_USB_STORAGE_JUMPSHOT is not set # CONFIG_USB_STORAGE_ALAUDA is not set # CONFIG_USB_STORAGE_ONETOUCH is not set # CONFIG_USB_STORAGE_KARMA is not set # CONFIG_USB_STORAGE_CYPRESS_ATACB is not set # CONFIG_USB_STORAGE_ENE_UB6250 is not set # CONFIG_USB_UAS is not set # CONFIG_USB_LIBUSUAL is not set
#
# USB Imaging devices
#
# CONFIG_USB_MDC800 is not set
# CONFIG_USB_MICROTEK is not set
#
# USB port drivers
#
# CONFIG_USB_SERIAL is not set
#
# USB Miscellaneous drivers
#
# CONFIG_USB_EMI62 is not set
# CONFIG_USB_EMI26 is not set
# CONFIG_USB_ADUTUX is not set
# CONFIG_USB_SEVSEG is not set
# CONFIG_USB_RIO500 is not set
# CONFIG_USB_LEGOTOWER is not set
# CONFIG_USB_LCD is not set
# CONFIG_USB_LED is not set
# CONFIG_USB_CYPRESS_CY7C63 is not set
# CONFIG_USB_CYTHERM is not set
# CONFIG_USB_IDMOUSE is not set
# CONFIG_USB_FTDI_ELAN is not set
# CONFIG_USB_APPLEDISPLAY is not set
# CONFIG_USB_SISUSBVGA is not set
# CONFIG_USB_LD is not set
# CONFIG_USB_TRANCEVIBRATOR is not set
# CONFIG_USB_IOWARRIOR is not set
# CONFIG_USB_TEST is not set
# CONFIG_USB_ISIGHTFW is not set
# CONFIG_USB_YUREX is not set
# CONFIG_USB_GADGET is not set
#
# OTG and related infrastructure
#
# CONFIG_NOP_USB_XCEIV is not set
# CONFIG_UWB is not set
# CONFIG_MMC is not set
# CONFIG_MEMSTICK is not set
# CONFIG_NEW_LEDS is not set
# CONFIG_NFC_DEVICES is not set
# CONFIG_ACCESSIBILITY is not set
# CONFIG_INFINIBAND is not setCONFIG_EDAC=y
#
# Reporting subsystems
#
# CONFIG_EDAC_DEBUG is not setCONFIG_EDAC_DECODE_MCE=y
# CONFIG_EDAC_MCE_INJ is not setCONFIG_EDAC_MM_EDAC=yCONFIG_EDAC_MCE=y
# CONFIG_EDAC_AMD64 is not set
# CONFIG_EDAC_E752X is not set
# CONFIG_EDAC_I82975X is not set
# CONFIG_EDAC_I3000 is not set
# CONFIG_EDAC_I3200 is not set
# CONFIG_EDAC_X38 is not set
# CONFIG_EDAC_I5400 is not setCONFIG_EDAC_I7CORE=y
# CONFIG_EDAC_I5000 is not set
# CONFIG_EDAC_I5100 is not set
# CONFIG_EDAC_I7300 is not setCONFIG_RTC_LIB=yCONFIG_RTC_CLASS=yCONFIG_RTC_HCTOSYS=yCONFIG_RTC_HCTOSYS_DEVICE="rtc0"
# CONFIG_RTC_DEBUG is not set
#
# RTC interfaces
#CONFIG_RTC_INTF_SYSFS=yCONFIG_RTC_INTF_PROC=yCONFIG_RTC_INTF_DEV=y
# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
# CONFIG_RTC_DRV_TEST is not set
#
# I2C RTC drivers
#
# CONFIG_RTC_DRV_DS1307 is not set
# CONFIG_RTC_DRV_DS1374 is not set
# CONFIG_RTC_DRV_DS1672 is not set
# CONFIG_RTC_DRV_DS3232 is not set
# CONFIG_RTC_DRV_MAX6900 is not set
# CONFIG_RTC_DRV_RS5C372 is not set
# CONFIG_RTC_DRV_ISL1208 is not set
# CONFIG_RTC_DRV_ISL12022 is not set
# CONFIG_RTC_DRV_X1205 is not set
# CONFIG_RTC_DRV_PCF8563 is not set
# CONFIG_RTC_DRV_PCF8583 is not set
# CONFIG_RTC_DRV_M41T80 is not set
# CONFIG_RTC_DRV_BQ32K is not set
# CONFIG_RTC_DRV_S35390A is not set
# CONFIG_RTC_DRV_FM3130 is not set
# CONFIG_RTC_DRV_RX8581 is not set
# CONFIG_RTC_DRV_RX8025 is not set
#
# SPI RTC drivers
#
#
# Platform RTC drivers
#CONFIG_RTC_DRV_CMOS=y
# CONFIG_RTC_DRV_DS1286 is not set
# CONFIG_RTC_DRV_DS1511 is not set
# CONFIG_RTC_DRV_DS1553 is not set
# CONFIG_RTC_DRV_DS1742 is not set
# CONFIG_RTC_DRV_STK17TA8 is not set
# CONFIG_RTC_DRV_M48T86 is not set
# CONFIG_RTC_DRV_M48T35 is not set
# CONFIG_RTC_DRV_M48T59 is not set
# CONFIG_RTC_DRV_MSM6242 is not set
# CONFIG_RTC_DRV_BQ4802 is not set
# CONFIG_RTC_DRV_RP5C01 is not set
# CONFIG_RTC_DRV_V3020 is not set
#
# on-CPU RTC drivers
#
# CONFIG_DMADEVICES is not set
# CONFIG_AUXDISPLAY is not set
# CONFIG_UIO is not setCONFIG_STAGING=y
# CONFIG_STAGING_EXCLUDE_BUILD is not set
# CONFIG_ET131X is not set
# CONFIG_SLICOSS is not set
# CONFIG_USB_IP_COMMON is not set
# CONFIG_ECHO is not set
# CONFIG_COMEDI is not set
# CONFIG_ASUS_OLED is not set
# CONFIG_RTS_PSTOR is not set
# CONFIG_TRANZPORT is not set
# CONFIG_POHMELFS is not set
# CONFIG_IDE_PHISON is not set
# CONFIG_LINE6_USB is not set
# CONFIG_DRM_VMWGFX is not setCONFIG_DRM_NOUVEAU=yCONFIG_DRM_NOUVEAU_BACKLIGHT=yCONFIG_DRM_NOUVEAU_DEBUG=y
#
# I2C encoder or helper chips
#
# CONFIG_DRM_I2C_CH7006 is not set
# CONFIG_DRM_I2C_SIL164 is not set
# CONFIG_HYPERV is not set
# CONFIG_VME_BUS is not set
# CONFIG_DX_SEP is not set
# CONFIG_IIO is not setCONFIG_XVMALLOC=yCONFIG_ZRAM=y
# CONFIG_ZRAM_DEBUG is not set
# CONFIG_FB_SM7XX is not set
# CONFIG_CRYSTALHD is not set
# CONFIG_FB_XGI is not set
# CONFIG_ACPI_QUICKSTART is not setCONFIG_MACH_NO_WESTBRIDGE=y
# CONFIG_USB_ENESTORAGE is not set
# CONFIG_BCM_WIMAX is not set
# CONFIG_FT1000 is not set
#
# Speakup console speech
#
# CONFIG_SPEAKUP is not set
# CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4 is not set # CONFIG_DRM_PSB is not set
#
# Altera FPGA firmware download module
#
# CONFIG_ALTERA_STAPL is not set
# CONFIG_X86_PLATFORM_DEVICES is not set
#
# Firmware Drivers
#
# CONFIG_EDD is not setCONFIG_FIRMWARE_MEMMAP=y
# CONFIG_DELL_RBU is not set
# CONFIG_DCDBAS is not setCONFIG_DMIID=y
# CONFIG_DMI_SYSFS is not set
# CONFIG_ISCSI_IBFT_FIND is not set
# CONFIG_SIGMA is not set
#
# File systems
#CONFIG_EXT2_FS=yCONFIG_EXT2_FS_XATTR=yCONFIG_EXT2_FS_POSIX_ACL=y
# CONFIG_EXT2_FS_SECURITY is not set
# CONFIG_EXT2_FS_XIP is not setCONFIG_EXT3_FS=y
# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not setCONFIG_EXT3_FS_XATTR=yCONFIG_EXT3_FS_POSIX_ACL=y
# CONFIG_EXT3_FS_SECURITY is not setCONFIG_EXT4_FS=yCONFIG_EXT4_FS_XATTR=yCONFIG_EXT4_FS_POSIX_ACL=y
# CONFIG_EXT4_FS_SECURITY is not set
# CONFIG_EXT4_DEBUG is not setCONFIG_JBD=y
# CONFIG_JBD_DEBUG is not setCONFIG_JBD2=y
# CONFIG_JBD2_DEBUG is not setCONFIG_FS_MBCACHE=y
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
# CONFIG_XFS_FS is not set
# CONFIG_GFS2_FS is not set
# CONFIG_OCFS2_FS is not set
# CONFIG_BTRFS_FS is not set
# CONFIG_NILFS2_FS is not setCONFIG_FS_POSIX_ACL=yCONFIG_FILE_LOCKING=yCONFIG_FSNOTIFY=yCONFIG_DNOTIFY=yCONFIG_INOTIFY_USER=yCONFIG_FANOTIFY=y
# CONFIG_QUOTA is not set
# CONFIG_QUOTACTL is not set
# CONFIG_AUTOFS4_FS is not setCONFIG_FUSE_FS=yCONFIG_CUSE=y
#
# Caches
#
# CONFIG_FSCACHE is not set
#
# CD-ROM/DVD Filesystems
#CONFIG_ISO9660_FS=yCONFIG_JOLIET=yCONFIG_ZISOFS=yCONFIG_UDF_FS=yCONFIG_UDF_NLS=y
#
# DOS/FAT/NT Filesystems
#CONFIG_FAT_FS=yCONFIG_MSDOS_FS=yCONFIG_VFAT_FS=yCONFIG_FAT_DEFAULT_CODEPAGE=437CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-2"
# CONFIG_NTFS_FS is not set
#
# Pseudo filesystems
#CONFIG_PROC_FS=yCONFIG_PROC_KCORE=yCONFIG_PROC_SYSCTL=yCONFIG_PROC_PAGE_MONITOR=yCONFIG_SYSFS=yCONFIG_TMPFS=y
# CONFIG_TMPFS_POSIX_ACL is not set
# CONFIG_HUGETLBFS is not set
# CONFIG_HUGETLB_PAGE is not setCONFIG_CONFIGFS_FS=y
# CONFIG_MISC_FILESYSTEMS is not setCONFIG_NETWORK_FILESYSTEMS=y
# CONFIG_NFS_FS is not set
# CONFIG_NFSD is not set
# CONFIG_CEPH_FS is not setCONFIG_CIFS=y
# CONFIG_CIFS_STATS is not set
# CONFIG_CIFS_WEAK_PW_HASH is not set
# CONFIG_CIFS_XATTR is not set
# CONFIG_CIFS_DEBUG2 is not set
# CONFIG_CIFS_EXPERIMENTAL is not set
# CONFIG_NCP_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set
#
# Partition Types
#
# CONFIG_PARTITION_ADVANCED is not setCONFIG_MSDOS_PARTITION=yCONFIG_NLS=yCONFIG_NLS_DEFAULT="iso8859-2"CONFIG_NLS_CODEPAGE_437=y
# CONFIG_NLS_CODEPAGE_737 is not set
# CONFIG_NLS_CODEPAGE_775 is not setCONFIG_NLS_CODEPAGE_850=yCONFIG_NLS_CODEPAGE_852=y
# CONFIG_NLS_CODEPAGE_855 is not set
# CONFIG_NLS_CODEPAGE_857 is not set
# CONFIG_NLS_CODEPAGE_860 is not set
# CONFIG_NLS_CODEPAGE_861 is not set
# CONFIG_NLS_CODEPAGE_862 is not set
# CONFIG_NLS_CODEPAGE_863 is not set
# CONFIG_NLS_CODEPAGE_864 is not set
# CONFIG_NLS_CODEPAGE_865 is not set
# CONFIG_NLS_CODEPAGE_866 is not set
# CONFIG_NLS_CODEPAGE_869 is not set
# CONFIG_NLS_CODEPAGE_936 is not set
# CONFIG_NLS_CODEPAGE_950 is not set
# CONFIG_NLS_CODEPAGE_932 is not set
# CONFIG_NLS_CODEPAGE_949 is not set
# CONFIG_NLS_CODEPAGE_874 is not set
# CONFIG_NLS_ISO8859_8 is not setCONFIG_NLS_CODEPAGE_1250=y
# CONFIG_NLS_CODEPAGE_1251 is not setCONFIG_NLS_ASCII=yCONFIG_NLS_ISO8859_1=yCONFIG_NLS_ISO8859_2=y
# CONFIG_NLS_ISO8859_3 is not set
# CONFIG_NLS_ISO8859_4 is not set
# CONFIG_NLS_ISO8859_5 is not set
# CONFIG_NLS_ISO8859_6 is not set
# CONFIG_NLS_ISO8859_7 is not set
# CONFIG_NLS_ISO8859_9 is not set
# CONFIG_NLS_ISO8859_13 is not set
# CONFIG_NLS_ISO8859_14 is not set
# CONFIG_NLS_ISO8859_15 is not set
# CONFIG_NLS_KOI8_R is not set
# CONFIG_NLS_KOI8_U is not setCONFIG_NLS_UTF8=y
# CONFIG_DLM is not set
#
# Kernel hacking
#CONFIG_TRACE_IRQFLAGS_SUPPORT=yCONFIG_PRINTK_TIME=yCONFIG_DEFAULT_MESSAGE_LOGLEVEL=4CONFIG_ENABLE_WARN_DEPRECATED=yCONFIG_ENABLE_MUST_CHECK=yCONFIG_FRAME_WARN=2048CONFIG_MAGIC_SYSRQ=y
# CONFIG_STRIP_ASM_SYMS is not set
# CONFIG_UNUSED_SYMBOLS is not setCONFIG_DEBUG_FS=y
# CONFIG_HEADERS_CHECK is not set
# CONFIG_DEBUG_SECTION_MISMATCH is not setCONFIG_DEBUG_KERNEL=yCONFIG_DEBUG_SHIRQ=yCONFIG_LOCKUP_DETECTOR=yCONFIG_HARDLOCKUP_DETECTOR=yCONFIG_BOOTPARAM_HARDLOCKUP_PANIC=yCONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=1
# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not setCONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0CONFIG_DETECT_HUNG_TASK=y
# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not setCONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0CONFIG_SCHED_DEBUG=yCONFIG_SCHEDSTATS=y
# CONFIG_TIMER_STATS is not setCONFIG_DEBUG_OBJECTS=y
# CONFIG_DEBUG_OBJECTS_SELFTEST is not setCONFIG_DEBUG_OBJECTS_FREE=yCONFIG_DEBUG_OBJECTS_TIMERS=yCONFIG_DEBUG_OBJECTS_WORK=yCONFIG_DEBUG_OBJECTS_RCU_HEAD=yCONFIG_DEBUG_OBJECTS_PERCPU_COUNTER=yCONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1CONFIG_SLUB_DEBUG_ON=y
# CONFIG_SLUB_STATS is not setCONFIG_DEBUG_KMEMLEAK=yCONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE=400
# CONFIG_DEBUG_KMEMLEAK_TEST is not set
# CONFIG_DEBUG_KMEMLEAK_DEFAULT_OFF is not setCONFIG_DEBUG_PREEMPT=yCONFIG_DEBUG_RT_MUTEXES=yCONFIG_DEBUG_PI_LIST=y
# CONFIG_RT_MUTEX_TESTER is not setCONFIG_DEBUG_SPINLOCK=yCONFIG_DEBUG_MUTEXES=y
# CONFIG_DEBUG_LOCK_ALLOC is not set
# CONFIG_PROVE_LOCKING is not set
# CONFIG_SPARSE_RCU_POINTER is not set
# CONFIG_LOCK_STAT is not setCONFIG_TRACE_IRQFLAGS=yCONFIG_DEBUG_SPINLOCK_SLEEP=y
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not setCONFIG_STACKTRACE=y
# CONFIG_DEBUG_KOBJECT is not setCONFIG_DEBUG_BUGVERBOSE=yCONFIG_DEBUG_INFO=y
# CONFIG_DEBUG_INFO_REDUCED is not setCONFIG_DEBUG_VM=yCONFIG_DEBUG_VIRTUAL=y
# CONFIG_DEBUG_WRITECOUNT is not setCONFIG_DEBUG_MEMORY_INIT=yCONFIG_DEBUG_LIST=y
# CONFIG_TEST_LIST_SORT is not setCONFIG_DEBUG_SG=yCONFIG_DEBUG_NOTIFIERS=y
# CONFIG_DEBUG_CREDENTIALS is not setCONFIG_ARCH_WANT_FRAME_POINTERS=yCONFIG_FRAME_POINTER=yCONFIG_BOOT_PRINTK_DELAY=y
# CONFIG_RCU_TORTURE_TEST is not setCONFIG_RCU_CPU_STALL_DETECTOR=yCONFIG_RCU_CPU_STALL_TIMEOUT=60CONFIG_RCU_CPU_STALL_DETECTOR_RUNNABLE=yCONFIG_RCU_CPU_STALL_VERBOSE=y
# CONFIG_KPROBES_SANITY_TEST is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
# CONFIG_LKDTM is not set
# CONFIG_CPU_NOTIFIER_ERROR_INJECT is not set
# CONFIG_FAULT_INJECTION is not setCONFIG_LATENCYTOP=yCONFIG_SYSCTL_SYSCALL_CHECK=yCONFIG_DEBUG_PAGEALLOC=yCONFIG_USER_STACKTRACE_SUPPORT=yCONFIG_NOP_TRACER=yCONFIG_HAVE_FUNCTION_TRACER=yCONFIG_HAVE_FUNCTION_GRAPH_TRACER=yCONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=yCONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=yCONFIG_HAVE_DYNAMIC_FTRACE=yCONFIG_HAVE_FTRACE_MCOUNT_RECORD=yCONFIG_HAVE_SYSCALL_TRACEPOINTS=yCONFIG_HAVE_C_RECORDMCOUNT=yCONFIG_TRACER_MAX_TRACE=yCONFIG_RING_BUFFER=yCONFIG_EVENT_TRACING=yCONFIG_EVENT_POWER_TRACING_DEPRECATED=yCONFIG_CONTEXT_SWITCH_TRACER=yCONFIG_RING_BUFFER_ALLOW_SWAP=yCONFIG_TRACING=yCONFIG_GENERIC_TRACER=yCONFIG_TRACING_SUPPORT=yCONFIG_FTRACE=y
# CONFIG_FUNCTION_TRACER is not setCONFIG_IRQSOFF_TRACER=yCONFIG_PREEMPT_TRACER=yCONFIG_SCHED_TRACER=y
# CONFIG_FTRACE_SYSCALLS is not setCONFIG_BRANCH_PROFILE_NONE=y
# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
# CONFIG_PROFILE_ALL_BRANCHES is not set
# CONFIG_STACK_TRACER is not set
# CONFIG_BLK_DEV_IO_TRACE is not setCONFIG_KPROBE_EVENT=y
# CONFIG_FTRACE_STARTUP_TEST is not setCONFIG_MMIOTRACE=y
# CONFIG_MMIOTRACE_TEST is not set
# CONFIG_RING_BUFFER_BENCHMARK is not set
# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
# CONFIG_DYNAMIC_DEBUG is not setCONFIG_DMA_API_DEBUG=y
# CONFIG_ATOMIC64_SELFTEST is not set
# CONFIG_SAMPLES is not setCONFIG_HAVE_ARCH_KGDB=yCONFIG_KGDB=yCONFIG_KGDB_SERIAL_CONSOLE=y
# CONFIG_KGDB_TESTS is not set
# CONFIG_KGDB_LOW_LEVEL_TRAP is not setCONFIG_KGDB_KDB=yCONFIG_KDB_KEYBOARD=yCONFIG_HAVE_ARCH_KMEMCHECK=y
# CONFIG_TEST_KSTRTOX is not setCONFIG_STRICT_DEVMEM=y
# CONFIG_X86_VERBOSE_BOOTUP is not setCONFIG_EARLY_PRINTK=y
# CONFIG_EARLY_PRINTK_DBGP is not setCONFIG_DEBUG_STACKOVERFLOW=y
# CONFIG_DEBUG_STACK_USAGE is not setCONFIG_DEBUG_PER_CPU_MAPS=y
# CONFIG_X86_PTDUMP is not setCONFIG_DEBUG_RODATA=y
# CONFIG_DEBUG_RODATA_TEST is not setCONFIG_DEBUG_SET_MODULE_RONX=y
# CONFIG_DEBUG_NX_TEST is not setCONFIG_IOMMU_DEBUG=y
# CONFIG_IOMMU_STRESS is not setCONFIG_IOMMU_LEAK=yCONFIG_HAVE_MMIOTRACE_SUPPORT=y
# CONFIG_X86_DECODER_SELFTEST is not setCONFIG_IO_DELAY_TYPE_0X80=0CONFIG_IO_DELAY_TYPE_0XED=1CONFIG_IO_DELAY_TYPE_UDELAY=2CONFIG_IO_DELAY_TYPE_NONE=3
# CONFIG_IO_DELAY_0X80 is not setCONFIG_IO_DELAY_0XED=y
# CONFIG_IO_DELAY_UDELAY is not set
# CONFIG_IO_DELAY_NONE is not setCONFIG_DEFAULT_IO_DELAY_TYPE=1CONFIG_DEBUG_BOOT_PARAMS=y
# CONFIG_CPA_DEBUG is not set
# CONFIG_OPTIMIZE_INLINING is not setCONFIG_DEBUG_STRICT_USER_COPY_CHECKS=y
#
# Security options
#
# CONFIG_KEYS is not set
# CONFIG_SECURITY_DMESG_RESTRICT is not set
# CONFIG_SECURITY is not set
# CONFIG_SECURITYFS is not setCONFIG_DEFAULT_SECURITY_DAC=yCONFIG_DEFAULT_SECURITY=""CONFIG_CRYPTO=y
#
# Crypto core or helper
#CONFIG_CRYPTO_ALGAPI=yCONFIG_CRYPTO_ALGAPI2=yCONFIG_CRYPTO_AEAD2=yCONFIG_CRYPTO_BLKCIPHER=yCONFIG_CRYPTO_BLKCIPHER2=yCONFIG_CRYPTO_HASH=yCONFIG_CRYPTO_HASH2=yCONFIG_CRYPTO_RNG2=yCONFIG_CRYPTO_PCOMP2=yCONFIG_CRYPTO_MANAGER=yCONFIG_CRYPTO_MANAGER2=yCONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
# CONFIG_CRYPTO_GF128MUL is not set
# CONFIG_CRYPTO_NULL is not set
# CONFIG_CRYPTO_PCRYPT is not setCONFIG_CRYPTO_WORKQUEUE=y
# CONFIG_CRYPTO_CRYPTD is not set
# CONFIG_CRYPTO_AUTHENC is not set
# CONFIG_CRYPTO_TEST is not set
#
# Authenticated Encryption with Associated Data
#
# CONFIG_CRYPTO_CCM is not set
# CONFIG_CRYPTO_GCM is not set
# CONFIG_CRYPTO_SEQIV is not set
#
# Block modes
#
# CONFIG_CRYPTO_CBC is not set
# CONFIG_CRYPTO_CTR is not set
# CONFIG_CRYPTO_CTS is not setCONFIG_CRYPTO_ECB=y
# CONFIG_CRYPTO_LRW is not set
# CONFIG_CRYPTO_PCBC is not set
# CONFIG_CRYPTO_XTS is not set
#
# Hash modes
#CONFIG_CRYPTO_HMAC=y
# CONFIG_CRYPTO_XCBC is not set
# CONFIG_CRYPTO_VMAC is not set
#
# Digest
#
# CONFIG_CRYPTO_CRC32C is not set
# CONFIG_CRYPTO_CRC32C_INTEL is not set
# CONFIG_CRYPTO_GHASH is not setCONFIG_CRYPTO_MD4=yCONFIG_CRYPTO_MD5=y
# CONFIG_CRYPTO_MICHAEL_MIC is not set
# CONFIG_CRYPTO_RMD128 is not set
# CONFIG_CRYPTO_RMD160 is not set
# CONFIG_CRYPTO_RMD256 is not set
# CONFIG_CRYPTO_RMD320 is not set
# CONFIG_CRYPTO_SHA1 is not set
# CONFIG_CRYPTO_SHA256 is not set
# CONFIG_CRYPTO_SHA512 is not set
# CONFIG_CRYPTO_TGR192 is not set
# CONFIG_CRYPTO_WP512 is not set
# CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL is not set
#
# Ciphers
#CONFIG_CRYPTO_AES=y
# CONFIG_CRYPTO_AES_X86_64 is not set
# CONFIG_CRYPTO_AES_NI_INTEL is not set
# CONFIG_CRYPTO_ANUBIS is not setCONFIG_CRYPTO_ARC4=y
# CONFIG_CRYPTO_BLOWFISH is not set
# CONFIG_CRYPTO_CAMELLIA is not set
# CONFIG_CRYPTO_CAST5 is not set
# CONFIG_CRYPTO_CAST6 is not set
# CONFIG_CRYPTO_DES is not set
# CONFIG_CRYPTO_FCRYPT is not set
# CONFIG_CRYPTO_KHAZAD is not set
# CONFIG_CRYPTO_SALSA20 is not set
# CONFIG_CRYPTO_SALSA20_X86_64 is not set
# CONFIG_CRYPTO_SEED is not set
# CONFIG_CRYPTO_SERPENT is not set
# CONFIG_CRYPTO_TEA is not set
# CONFIG_CRYPTO_TWOFISH is not set
# CONFIG_CRYPTO_TWOFISH_X86_64 is not set
#
# Compression
#
# CONFIG_CRYPTO_DEFLATE is not set
# CONFIG_CRYPTO_ZLIB is not set
# CONFIG_CRYPTO_LZO is not set
#
# Random Number Generation
#
# CONFIG_CRYPTO_ANSI_CPRNG is not set
# CONFIG_CRYPTO_USER_API_HASH is not set
# CONFIG_CRYPTO_USER_API_SKCIPHER is not set
# CONFIG_CRYPTO_HW is not setCONFIG_HAVE_KVM=yCONFIG_HAVE_KVM_IRQCHIP=yCONFIG_HAVE_KVM_EVENTFD=yCONFIG_KVM_APIC_ARCHITECTURE=yCONFIG_KVM_MMIO=yCONFIG_KVM_ASYNC_PF=yCONFIG_VIRTUALIZATION=yCONFIG_KVM=yCONFIG_KVM_INTEL=y
# CONFIG_KVM_AMD is not set
# CONFIG_KVM_MMU_AUDIT is not set
# CONFIG_VHOST_NET is not set
# CONFIG_VIRTIO_PCI is not set
# CONFIG_VIRTIO_BALLOON is not setCONFIG_BINARY_PRINTF=y
#
# Library routines
#CONFIG_BITREVERSE=yCONFIG_GENERIC_FIND_FIRST_BIT=yCONFIG_GENERIC_FIND_NEXT_BIT=yCONFIG_GENERIC_FIND_LAST_BIT=y
# CONFIG_CRC_CCITT is not setCONFIG_CRC16=y
# CONFIG_CRC_T10DIF is not setCONFIG_CRC_ITU_T=yCONFIG_CRC32=y
# CONFIG_CRC7 is not set
# CONFIG_LIBCRC32C is not setCONFIG_ZLIB_INFLATE=yCONFIG_LZO_COMPRESS=yCONFIG_LZO_DECOMPRESS=yCONFIG_XZ_DEC=yCONFIG_XZ_DEC_X86=yCONFIG_XZ_DEC_POWERPC=yCONFIG_XZ_DEC_IA64=yCONFIG_XZ_DEC_ARM=yCONFIG_XZ_DEC_ARMTHUMB=yCONFIG_XZ_DEC_SPARC=yCONFIG_XZ_DEC_BCJ=y
# CONFIG_XZ_DEC_TEST is not setCONFIG_DECOMPRESS_GZIP=yCONFIG_DECOMPRESS_BZIP2=yCONFIG_DECOMPRESS_LZMA=yCONFIG_DECOMPRESS_XZ=yCONFIG_DECOMPRESS_LZO=yCONFIG_HAS_IOMEM=yCONFIG_HAS_IOPORT=yCONFIG_HAS_DMA=y
# CONFIG_CPUMASK_OFFSTACK is not setCONFIG_CPU_RMAP=yCONFIG_NLATTR=y
# CONFIG_AVERAGE is not set
Hello,
Quoted 2 lines · Marcin Slusarz
[ 0.100047] BUG: unable to handle kernel NULL pointer dereference at (null) [ 0.101416] IP: [<ffffffff810854d1>] __queue_work+0x29/0x41a
...
Quoted 13 lines
[ 0.110000] Call Trace: [ 0.110000] <IRQ> [ 0.110000] [<ffffffff81085910>] queue_work_on+0x16/0x1d [ 0.110000] [<ffffffff81085abc>] queue_work+0x29/0x55 [ 0.110000] [<ffffffff81085afb>] schedule_work+0x13/0x15 [ 0.110000] [<ffffffff81242de1>] free_object+0x90/0x95 [ 0.110000] [<ffffffff81242f6d>] debug_check_no_obj_freed+0x187/0x1d3 [ 0.110000] [<ffffffff814b6504>] ? _raw_spin_unlock_irqrestore+0x30/0x4d [ 0.110000] [<ffffffff8110bd14>] ? free_object_rcu+0x68/0x6d [ 0.110000] [<ffffffff8110890c>] kmem_cache_free+0x64/0x12c [ 0.110000] [<ffffffff8110bd14>] free_object_rcu+0x68/0x6d [ 0.110000] [<ffffffff810b58bc>] __rcu_process_callbacks+0x1b6/0x2d9 [ 0.110000] [<ffffffff81095c9f>] ? tick_handle_periodic+0x1f/0x6c
Quoted 8 lines
[ 0.110000] [<ffffffff810b5a5a>] rcu_process_callbacks+0x7b/0x83 [ 0.110000] [<ffffffff810733b2>] __do_softirq+0x117/0x207 [ 0.110000] [<ffffffff810b05d3>] ? handle_irq_event+0x47/0x5c [ 0.110000] [<ffffffff814bd0cc>] call_softirq+0x1c/0x30 [ 0.110000] [<ffffffff81034bc4>] do_softirq+0x38/0x80 [ 0.110000] [<ffffffff810730ed>] irq_exit+0x4e/0xa0 [ 0.110000] [<ffffffff8103429a>] do_IRQ+0x97/0xae [ 0.110000] [<ffffffff814b6853>] common_interrupt+0x13/0x13
I can reproduce this reliably with your config too. From a quick glance, the cause seems to be debug objects using RCU callback free_object() to free objects, which ends up being called before workqueue is initialized. The offending object type is "rcu_head" and turning off CONFIG_DEBUG_OBJECTS_RCU_HEAD makes the problem go away.
Any ideas on how to fix this?
Thanks.
Signature · 1 line
tejun
Quoted 28 lines · Tejun Heo
Hello,
Quoted 2 lines · Marcin Slusarz
[ 0.100047] BUG: unable to handle kernel NULL pointer dereference at (null) [ 0.101416] IP: [<ffffffff810854d1>] __queue_work+0x29/0x41a...
Quoted 13 lines
[ 0.110000] Call Trace: [ 0.110000] <IRQ> [ 0.110000] [<ffffffff81085910>] queue_work_on+0x16/0x1d [ 0.110000] [<ffffffff81085abc>] queue_work+0x29/0x55 [ 0.110000] [<ffffffff81085afb>] schedule_work+0x13/0x15 [ 0.110000] [<ffffffff81242de1>] free_object+0x90/0x95 [ 0.110000] [<ffffffff81242f6d>] debug_check_no_obj_freed+0x187/0x1d3 [ 0.110000] [<ffffffff814b6504>] ? _raw_spin_unlock_irqrestore+0x30/0x4d [ 0.110000] [<ffffffff8110bd14>] ? free_object_rcu+0x68/0x6d [ 0.110000] [<ffffffff8110890c>] kmem_cache_free+0x64/0x12c [ 0.110000] [<ffffffff8110bd14>] free_object_rcu+0x68/0x6d [ 0.110000] [<ffffffff810b58bc>] __rcu_process_callbacks+0x1b6/0x2d9 [ 0.110000] [<ffffffff81095c9f>] ? tick_handle_periodic+0x1f/0x6cQuoted 8 lines
[ 0.110000] [<ffffffff810b5a5a>] rcu_process_callbacks+0x7b/0x83 [ 0.110000] [<ffffffff810733b2>] __do_softirq+0x117/0x207 [ 0.110000] [<ffffffff810b05d3>] ? handle_irq_event+0x47/0x5c [ 0.110000] [<ffffffff814bd0cc>] call_softirq+0x1c/0x30 [ 0.110000] [<ffffffff81034bc4>] do_softirq+0x38/0x80 [ 0.110000] [<ffffffff810730ed>] irq_exit+0x4e/0xa0 [ 0.110000] [<ffffffff8103429a>] do_IRQ+0x97/0xae [ 0.110000] [<ffffffff814b6853>] common_interrupt+0x13/0x13
Quoted 7 lines
I can reproduce this reliably with your config too. From a quick glance, the cause seems to be debug objects using RCU callback
free_object()to free objects, which ends up being called before workqueue is initialized. The offending object type is "rcu_head" and turning offCONFIG_DEBUG_OBJECTS_RCU_HEADmakes the problem go away.Any ideas on how to fix this?
Thanks for tracking this down. Untested (I can add a log afterwards):
init/main.c +1 -1
@@ -580,8 +580,8 @@ asmlinkage void __init start_kernel(void)#endif page_cgroup_init ();enable_debug_pagealloc (); -kmemleak_init ();debug_objects_mem_init (); +kmemleak_init ();setup_per_cpu_pageset ();numa_policy_init ();if (late_time_init)
Signature · 1 line
Catalin
Quoted 7 lines · Catalin Marinas
Thanks for tracking this down. Untested (I can add a log afterwards):
init/main.c +0
-0
init/main.c asmlinkage void __init start_kernel(void) · line 587
Quoted 9 lines
init/main.c +1
-1@@ -580,8 +580,8 @@ asmlinkage void __init start_kernel(void)#endif page_cgroup_init ();enable_debug_pagealloc (); -kmemleak_init ();debug_objects_mem_init (); +kmemleak_init ();setup_per_cpu_pageset ();numa_policy_init ();if (late_time_init)
Heh, that was swift. Yeap, seems to work here. Please feel free to add my Tested-by.
Thank you.
Signature · 1 line
tejun
Quoted 12 lines · Tejun Heo
Quoted 11 lines · Catalin Marinas
Thanks for tracking this down. Untested (I can add a log afterwards):
init/main.c +0
-1@@ -580,8 +580,8 @@ asmlinkage void __init start_kernel(void)#endif page_cgroup_init ();enable_debug_pagealloc (); -kmemleak_init ();
Quoted 8 lines
init/main.c asmlinkage void __init start_kernel(void) · line 587
Quoted 5 lines
init/main.c +1
-0debug_objects_mem_init (); +kmemleak_init ();setup_per_cpu_pageset ();numa_policy_init ();if (late_time_init)Heh, that was swift. Yeap, seems to work here. Please feel free to add my Tested-by.
Thanks. I have two other minor kmemleak fixes, so I'll send Linus a pull request in the next day or so.
Signature · 1 line
Catalin
Quoted 22 lines · Catalin Marinas
Quoted 12 lines · Tejun Heo
Quoted 11 lines · Catalin Marinas
Thanks for tracking this down. Untested (I can add a log afterwards):
init/main.c +0
-1@@ -580,8 +580,8 @@ asmlinkage void __init start_kernel(void)#endif page_cgroup_init ();enable_debug_pagealloc (); -kmemleak_init ();Quoted 8 lines
init/main.c asmlinkage void __init start_kernel(void) · line 587
Quoted 5 lines
init/main.c +1
-0debug_objects_mem_init (); +kmemleak_init ();setup_per_cpu_pageset ();numa_policy_init ();if (late_time_init)Heh, that was swift. Yeap, seems to work here. Please feel free to add my Tested-by.
Quoted 3 lines
Thanks. I have two other minor kmemleak fixes, so I'll send Linus a pull request in the next day or so.
With this patch applied kernel didn't panic, but kmemleak did not work either:
kmemleak: Early log buffer exceeded, please increase DEBUG_KMEMLEAK_EARLY_LOG_SIZE
kmemleak: Kernel memory leak detector disabled
I increased DEBUG_KMEMLEAK_EARLY_LOG_SIZE from 400 to 1000, and it crashed in exactly the same way:
[ 0.100045] BUG: unable to handle kernel NULL pointer dereference at (null) [ 0.101303] IP: [<ffffffff810854d1>] __queue_work+0x29/0x41a [ 0.102210] PGD 0 [ 0.102551] Oops: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC [ 0.103459] last sysfs file: [ 0.103949] CPU 0 [ 0.104260] Modules linked in: [ 0.104803] [ 0.105052] Pid: 1, comm: swapper Not tainted 2.6.39-rc4-nv+ #721 Bochs Bochs [ 0.106193] RIP: 0010:[<ffffffff810854d1>] [<ffffffff810854d1>] __queue_work+0x29/0x41a [ 0.107472] RSP: 0018:ffff880007c03c90 EFLAGS: 00010246 [ 0.108310] RAX: 0000000000000000 RBX: ffffffff81a4fa80 RCX: ffff880007c03bb0 [ 0.109423] RDX: 0000000000000003 RSI: ffffffff81e5ade8 RDI: 0000000000000001 [ 0.110000] RBP: ffff880007c03ce0 R08: ffffffff81e5ade0 R09: 000000000000005a [ 0.110000] R10: ffffea0000000008 R11: 0000000000000000 R12: 0000000000000000 [ 0.110000] R13: 0000000000000000 R14: 0000000000000000 R15: ffff880007946480 [ 0.110000] FS: 0000000000000000(0000) GS:ffff880007c00000(0000) knlGS:0000000000000000 [ 0.110000] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b [ 0.110000] CR2: 0000000000000000 CR3: 0000000001a23000 CR4: 00000000000006f0 [ 0.110000] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 0.110000] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 [ 0.110000] Process swapper (pid: 1, threadinfo ffff880007ac2000, task ffff880007ac8000) [ 0.110000] Stack: [ 0.110000] 0000000000000000 0000000000000000 0000000000000000 0000000000000000 [ 0.110000] 0000000000000000 0000000000000000 ffffffff81a4fa80 ffff880007946330 [ 0.110000] 0000000000000000 ffff880007946480 ffff880007c03cf0 ffffffff81085910 [ 0.110000] Call Trace: [ 0.110000] <IRQ> [ 0.110000] [<ffffffff81085910>] queue_work_on+0x16/0x1d [ 0.110000] [<ffffffff81085abc>] queue_work+0x29/0x55 [ 0.110000] [<ffffffff81085afb>] schedule_work+0x13/0x15 [ 0.110000] [<ffffffff81242de1>] free_object+0x90/0x95 [ 0.110000] [<ffffffff81242f6d>] debug_check_no_obj_freed+0x187/0x1d3 [ 0.110000] [<ffffffff814b6504>] ? _raw_spin_unlock_irqrestore+0x30/0x4d [ 0.110000] [<ffffffff8110bd14>] ? free_object_rcu+0x68/0x6d [ 0.110000] [<ffffffff8110890c>] kmem_cache_free+0x64/0x12c [ 0.110000] [<ffffffff8110bd14>] free_object_rcu+0x68/0x6d [ 0.110000] [<ffffffff810b58bc>] __rcu_process_callbacks+0x1b6/0x2d9 [ 0.110000] [<ffffffff81095c9f>] ? tick_handle_periodic+0x1f/0x6c [ 0.110000] [<ffffffff810b5a5a>] rcu_process_callbacks+0x7b/0x83 [ 0.110000] [<ffffffff810733b2>] __do_softirq+0x117/0x207 [ 0.110000] [<ffffffff810b05d3>] ? handle_irq_event+0x47/0x5c [ 0.110000] [<ffffffff814bd0cc>] call_softirq+0x1c/0x30 [ 0.110000] [<ffffffff81034bc4>] do_softirq+0x38/0x80 [ 0.110000] [<ffffffff810730ed>] irq_exit+0x4e/0xa0 [ 0.110000] [<ffffffff8103429a>] do_IRQ+0x97/0xae [ 0.110000] [<ffffffff814b6853>] common_interrupt+0x13/0x13 [ 0.110000] <EOI> [ 0.110000] [<ffffffff8123d25f>] ? delay_tsc+0x48/0xcb [ 0.110000] [<ffffffff8123d32a>] __const_udelay+0x25/0x27 [ 0.110000] [<ffffffff81aaae16>] timer_irq_works+0x3c/0x77 [ 0.110000] [<ffffffff81aab422>] setup_IO_APIC+0x337/0x755 [ 0.110000] [<ffffffff81aa956c>] native_smp_prepare_cpus+0x3a0/0x451 [ 0.110000] [<ffffffff814b64b9>] ? _raw_spin_unlock_irq+0x19/0x34 [ 0.110000] [<ffffffff81a9e52b>] kernel_init+0x4e/0x135 [ 0.110000] [<ffffffff8123e0fe>] ? trace_hardirqs_on_thunk+0x3a/0x3c [ 0.110000] [<ffffffff814bcfd4>] kernel_thread_helper+0x4/0x10 [ 0.110000] [<ffffffff81063d70>] ? finish_task_switch+0x5a/0xcb [ 0.110000] [<ffffffff814b64b9>] ? _raw_spin_unlock_irq+0x19/0x34 [ 0.110000] [<ffffffff814b68b1>] ? retint_restore_args+0xe/0xe [ 0.110000] [<ffffffff81a9e4dd>] ? parse_early_options+0x20/0x20 [ 0.110000] [<ffffffff814bcfd0>] ? gs_change+0xb/0xb [ 0.110000] Code: c9 c3 55 48 89 e5 41 57 41 56 41 55 49 89 f5 41 54 48 c7 c6 a0 b7 a3 81 53 41 89 fc 48 83 ec 28 48 89 d3 48 89 d7 e8 63 d7 1b 00 [ 0.110000] f6 45 00 40 0f 84 6b 01 00 00 b8 09 00 00 00 83 3d 28 10 a0 [ 0.110000] RIP [<ffffffff810854d1>] __queue_work+0x29/0x41a [ 0.110000] RSP <ffff880007c03c90> [ 0.110000] CR2: 0000000000000000 [ 0.110005] ---[ end trace 4eaa2a86a8e2da22 ]--- [ 0.110766] Kernel panic - not syncing: Fatal exception in interrupt
The problem is: debugobjects want to use workqueues (system_wq actually), but they are initialized much later in a boot process.
Attached patch fixes this issue for me.
lib/debugobjects.c +1 -1
@@ -198,7 +198,7 @@ static void free_object(struct debug_obj *obj)* initialized: */ if (obj_pool_free >ODEBUG_POOL_SIZE && obj_cache) - sched = !work_pending (&debug_obj_work); + sched =keventd_up () && !work_pending (&debug_obj_work);hlist_add_head (&obj->node, &obj_pool); obj_pool_free++; obj_pool_used--;
Quoted 34 lines · Marcin Slusarz
Quoted 22 lines · Catalin Marinas
Quoted 12 lines · Tejun Heo
Quoted 11 lines · Catalin Marinas
Thanks for tracking this down. Untested (I can add a log afterwards):
init/main.c +0
-1@@ -580,8 +580,8 @@ asmlinkage void __init start_kernel(void)#endif page_cgroup_init ();enable_debug_pagealloc (); -kmemleak_init ();Quoted 8 lines
init/main.c asmlinkage void __init start_kernel(void) · line 587
Quoted 5 lines
init/main.c +1
-0debug_objects_mem_init (); +kmemleak_init ();setup_per_cpu_pageset ();numa_policy_init ();if (late_time_init)Heh, that was swift. Yeap, seems to work here. Please feel free to add my Tested-by.
Quoted 3 lines
Thanks. I have two other minor kmemleak fixes, so I'll send Linus a pull request in the next day or so.
With this patch applied kernel didn't panic, but kmemleak did not work either:
kmemleak: Early log buffer exceeded, please increase
DEBUG_KMEMLEAK_EARLY_LOG_SIZE
kmemleak: Kernel memory leak detector disabledI increased
DEBUG_KMEMLEAK_EARLY_LOG_SIZEfrom 400 to 1000, and it crashed in exactly the same way:
...
Quoted 12 lines
The problem is: debugobjects want to use workqueues (
system_wqactually), but they are initialized much later in a boot process.Attached patch fixes this issue for me.
lib/debugobjects.c +0
-0
lib/debugobjects.c static void free_object(struct debug_obj *obj) · line 204
Quoted 8 lines
lib/debugobjects.c +1
-1@@ -198,7 +198,7 @@ static void free_object(struct debug_obj *obj)* initialized: */ if (obj_pool_free >ODEBUG_POOL_SIZE && obj_cache) - sched = !work_pending (&debug_obj_work); + sched =keventd_up () && !work_pending (&debug_obj_work);hlist_add_head (&obj->node, &obj_pool); obj_pool_free++; obj_pool_used--;
Sigh, yes. Care to resend with changelog and signed-off-by ?
Thanks,
tglx
PATCH 1/1 debugobjects: fix boot crash when both kmemleak and debugobjects are enabled (was: Re: early kernel crash when kmemleak is enabled)
Quoted 44 lines · Thomas Gleixner
Quoted 34 lines · Marcin Slusarz
Quoted 22 lines · Catalin Marinas
Quoted 12 lines · Tejun Heo
Quoted 11 lines · Catalin Marinas
Thanks for tracking this down. Untested (I can add a log afterwards):
init/main.c +0
-1@@ -580,8 +580,8 @@ asmlinkage void __init start_kernel(void)#endif page_cgroup_init ();enable_debug_pagealloc (); -kmemleak_init ();Quoted 8 lines
init/main.c asmlinkage void __init start_kernel(void) · line 587
Quoted 5 lines
init/main.c +1
-0debug_objects_mem_init (); +kmemleak_init ();setup_per_cpu_pageset ();numa_policy_init ();if (late_time_init)Heh, that was swift. Yeap, seems to work here. Please feel free to add my Tested-by.
Quoted 3 lines
Thanks. I have two other minor kmemleak fixes, so I'll send Linus a pull request in the next day or so.
With this patch applied kernel didn't panic, but kmemleak did not work either:
kmemleak: Early log buffer exceeded, please increase
DEBUG_KMEMLEAK_EARLY_LOG_SIZE
kmemleak: Kernel memory leak detector disabledI increased
DEBUG_KMEMLEAK_EARLY_LOG_SIZEfrom 400 to 1000, and it crashed in exactly the same way:...
Quoted 6 lines
The problem is: debugobjects want to use workqueues (
system_wqactually), but they are initialized much later in a boot process.Attached patch fixes this issue for me.
Quoted 17 lines
Quoted 6 lines
lib/debugobjects.c +0
-0lib/debugobjects.c static void free_object(struct debug_obj *obj) · line 204
Quoted 8 lines
lib/debugobjects.c +1
-1@@ -198,7 +198,7 @@ static void free_object(struct debug_obj *obj)* initialized: */ if (obj_pool_free >ODEBUG_POOL_SIZE && obj_cache) - sched = !work_pending (&debug_obj_work); + sched =keventd_up () && !work_pending (&debug_obj_work);hlist_add_head (&obj->node, &obj_pool); obj_pool_free++; obj_pool_used--;Sigh, yes. Care to resend with changelog and signed-off-by ?
Sure.
---
From: Marcin Slusarz <[email protected]>
Subject: [PATCH] debugobjects: fix boot crash when both kmemleak and debugobjects are enabled
order of initialization look like this:
...
debugobjects
kmemleak
...(lots of other subsystems)...
workqueues (through early initcall)
...
debugobjects use schedule_work for batch freeing of its data and kmemleak heavily use debugobjects, so when it comes to freeing and workqueues were not initialized yet, kernel crashes:
BUG: unable to handle kernel NULL pointer dereference at (null) IP: [<ffffffff810854d1>] __queue_work+0x29/0x41a PGD 0 Oops: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC (...) Pid: 1, comm: swapper Not tainted 2.6.39-rc4-nv+ #721 Bochs Bochs RIP: 0010:[<ffffffff810854d1>] [<ffffffff810854d1>] __queue_work+0x29/0x41a (...) Call Trace: <IRQ> [<ffffffff81085910>] queue_work_on+0x16/0x1d [<ffffffff81085abc>] queue_work+0x29/0x55 [<ffffffff81085afb>] schedule_work+0x13/0x15 [<ffffffff81242de1>] free_object+0x90/0x95 [<ffffffff81242f6d>] debug_check_no_obj_freed+0x187/0x1d3 [<ffffffff814b6504>] ? _raw_spin_unlock_irqrestore+0x30/0x4d [<ffffffff8110bd14>] ? free_object_rcu+0x68/0x6d [<ffffffff8110890c>] kmem_cache_free+0x64/0x12c [<ffffffff8110bd14>] free_object_rcu+0x68/0x6d [<ffffffff810b58bc>] __rcu_process_callbacks+0x1b6/0x2d9 [<ffffffff81095c9f>] ? tick_handle_periodic+0x1f/0x6c [<ffffffff810b5a5a>] rcu_process_callbacks+0x7b/0x83 [<ffffffff810733b2>] __do_softirq+0x117/0x207 [<ffffffff810b05d3>] ? handle_irq_event+0x47/0x5c [<ffffffff814bd0cc>] call_softirq+0x1c/0x30 [<ffffffff81034bc4>] do_softirq+0x38/0x80 [<ffffffff810730ed>] irq_exit+0x4e/0xa0 [<ffffffff8103429a>] do_IRQ+0x97/0xae [<ffffffff814b6853>] common_interrupt+0x13/0x13 <EOI> [<ffffffff8123d25f>] ? delay_tsc+0x48/0xcb [<ffffffff8123d32a>] __const_udelay+0x25/0x27 [<ffffffff81aaae16>] timer_irq_works+0x3c/0x77 [<ffffffff81aab422>] setup_IO_APIC+0x337/0x755 [<ffffffff81aa956c>] native_smp_prepare_cpus+0x3a0/0x451 [<ffffffff814b64b9>] ? _raw_spin_unlock_irq+0x19/0x34 [<ffffffff81a9e52b>] kernel_init+0x4e/0x135 [<ffffffff8123e0fe>] ? trace_hardirqs_on_thunk+0x3a/0x3c [<ffffffff814bcfd4>] kernel_thread_helper+0x4/0x10 [<ffffffff81063d70>] ? finish_task_switch+0x5a/0xcb [<ffffffff814b64b9>] ? _raw_spin_unlock_irq+0x19/0x34 [<ffffffff814b68b1>] ? retint_restore_args+0xe/0xe [<ffffffff81a9e4dd>] ? parse_early_options+0x20/0x20 [<ffffffff814bcfd0>] ? gs_change+0xb/0xb Code: c9 c3 55 48 89 e5 41 57 41 56 41 55 49 89 f5 41 54 48 c7 c6 a0 b7 a3 81 53 41 89 fc 48 83 ec 28 48 89 d3 48 89 d7 e8 63 d7 1b 00 f6 45 00 40 0f 84 6b 01 00 00 b8 09 00 00 00 83 3d 28 10 a0 RIP [<ffffffff810854d1>] __queue_work+0x29/0x41a RSP <ffff880007c03c90> CR2: 0000000000000000 ---[ end trace 4eaa2a86a8e2da22 ]--- Kernel panic - not syncing: Fatal exception in interrupt
...because system_wq is NULL.
Fix it by checking if workqueues susbystem was initialized before using.
--- lib/debugobjects.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
lib/debugobjects.c +1 -1
@@ -198,7 +198,7 @@ static void free_object(struct debug_obj *obj)* initialized: */ if (obj_pool_free >ODEBUG_POOL_SIZE && obj_cache) - sched = !work_pending (&debug_obj_work); + sched =keventd_up () && !work_pending (&debug_obj_work);hlist_add_head (&obj->node, &obj_pool); obj_pool_free++; obj_pool_used--;
Signature · 1 line
1.7.4.1
Re: [PATCH] debugobjects: fix boot crash when both kmemleak and debugobjects are enabled (was: Re: early kernel crash when kmemleak is enabled)
Quoted 153 lines · Marcin Slusarz
Quoted 44 lines · Thomas Gleixner
Quoted 34 lines · Marcin Slusarz
Quoted 22 lines · Catalin Marinas
Quoted 12 lines · Tejun Heo
Quoted 11 lines · Catalin Marinas
Thanks for tracking this down. Untested (I can add a log afterwards):
init/main.c +0
-1@@ -580,8 +580,8 @@ asmlinkage void __init start_kernel(void)#endif page_cgroup_init ();enable_debug_pagealloc (); -kmemleak_init ();Quoted 8 lines
init/main.c asmlinkage void __init start_kernel(void) · line 587
Quoted 5 lines
init/main.c +1
-0debug_objects_mem_init (); +kmemleak_init ();setup_per_cpu_pageset ();numa_policy_init ();if (late_time_init)Heh, that was swift. Yeap, seems to work here. Please feel free to add my Tested-by.
Quoted 3 lines
Thanks. I have two other minor kmemleak fixes, so I'll send Linus a pull request in the next day or so.
With this patch applied kernel didn't panic, but kmemleak did not work either:
kmemleak: Early log buffer exceeded, please increase
DEBUG_KMEMLEAK_EARLY_LOG_SIZE
kmemleak: Kernel memory leak detector disabledI increased
DEBUG_KMEMLEAK_EARLY_LOG_SIZEfrom 400 to 1000, and it crashed in exactly the same way:...
Quoted 6 lines
The problem is: debugobjects want to use workqueues (
system_wqactually), but they are initialized much later in a boot process.Attached patch fixes this issue for me.
Quoted 17 lines
Quoted 6 lines
lib/debugobjects.c +0
-0lib/debugobjects.c static void free_object(struct debug_obj *obj) · line 204
Quoted 8 lines
lib/debugobjects.c +1
-1@@ -198,7 +198,7 @@ static void free_object(struct debug_obj *obj)* initialized: */ if (obj_pool_free >ODEBUG_POOL_SIZE && obj_cache) - sched = !work_pending (&debug_obj_work); + sched =keventd_up () && !work_pending (&debug_obj_work);hlist_add_head (&obj->node, &obj_pool); obj_pool_free++; obj_pool_used--;Sigh, yes. Care to resend with changelog and signed-off-by ?
Sure.
---
From: Marcin Slusarz <[email protected]>
Subject: [PATCH] debugobjects: fix boot crash when both kmemleak and debugobjects are enabledorder of initialization look like this:
...
debugobjects
kmemleak
...(lots of other subsystems)...
workqueues (through early initcall)
...debugobjects use
schedule_workfor batch freeing of its data and kmemleak heavily use debugobjects, so when it comes to freeing and workqueues were not initialized yet, kernel crashes:BUG: unable to handle kernel NULL pointer dereference at (null) IP: [<ffffffff810854d1>] __queue_work+0x29/0x41a PGD 0 Oops: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC (...) Pid: 1, comm: swapper Not tainted 2.6.39-rc4-nv+ #721 Bochs Bochs RIP: 0010:[<ffffffff810854d1>] [<ffffffff810854d1>] __queue_work+0x29/0x41a (...) Call Trace: <IRQ> [<ffffffff81085910>] queue_work_on+0x16/0x1d [<ffffffff81085abc>] queue_work+0x29/0x55 [<ffffffff81085afb>] schedule_work+0x13/0x15 [<ffffffff81242de1>] free_object+0x90/0x95 [<ffffffff81242f6d>] debug_check_no_obj_freed+0x187/0x1d3 [<ffffffff814b6504>] ? _raw_spin_unlock_irqrestore+0x30/0x4d [<ffffffff8110bd14>] ? free_object_rcu+0x68/0x6d [<ffffffff8110890c>] kmem_cache_free+0x64/0x12c [<ffffffff8110bd14>] free_object_rcu+0x68/0x6d [<ffffffff810b58bc>] __rcu_process_callbacks+0x1b6/0x2d9 [<ffffffff81095c9f>] ? tick_handle_periodic+0x1f/0x6c [<ffffffff810b5a5a>] rcu_process_callbacks+0x7b/0x83 [<ffffffff810733b2>] __do_softirq+0x117/0x207 [<ffffffff810b05d3>] ? handle_irq_event+0x47/0x5c [<ffffffff814bd0cc>] call_softirq+0x1c/0x30 [<ffffffff81034bc4>] do_softirq+0x38/0x80 [<ffffffff810730ed>] irq_exit+0x4e/0xa0 [<ffffffff8103429a>] do_IRQ+0x97/0xae [<ffffffff814b6853>] common_interrupt+0x13/0x13 <EOI> [<ffffffff8123d25f>] ? delay_tsc+0x48/0xcb [<ffffffff8123d32a>] __const_udelay+0x25/0x27 [<ffffffff81aaae16>] timer_irq_works+0x3c/0x77 [<ffffffff81aab422>] setup_IO_APIC+0x337/0x755 [<ffffffff81aa956c>] native_smp_prepare_cpus+0x3a0/0x451 [<ffffffff814b64b9>] ? _raw_spin_unlock_irq+0x19/0x34 [<ffffffff81a9e52b>] kernel_init+0x4e/0x135 [<ffffffff8123e0fe>] ? trace_hardirqs_on_thunk+0x3a/0x3c [<ffffffff814bcfd4>] kernel_thread_helper+0x4/0x10 [<ffffffff81063d70>] ? finish_task_switch+0x5a/0xcb [<ffffffff814b64b9>] ? _raw_spin_unlock_irq+0x19/0x34 [<ffffffff814b68b1>] ? retint_restore_args+0xe/0xe [<ffffffff81a9e4dd>] ? parse_early_options+0x20/0x20 [<ffffffff814bcfd0>] ? gs_change+0xb/0xb Code: c9 c3 55 48 89 e5 41 57 41 56 41 55 49 89 f5 41 54 48 c7 c6 a0 b7 a3 81 53 41 89 fc 48 83 ec 28 48 89 d3 48 89 d7 e8 63 d7 1b 00 f6 45 00 40 0f 84 6b 01 00 00 b8 09 00 00 00 83 3d 28 10 a0 RIP [<ffffffff810854d1>] __queue_work+0x29/0x41a RSP <ffff880007c03c90> CR2: 0000000000000000 ---[ end trace 4eaa2a86a8e2da22 ]--- Kernel panic - not syncing: Fatal exception in interrupt...because
system_wqis NULL.Fix it by checking if workqueues susbystem was initialized before using.
Signed-off-by Marcin Slusarz <[email protected]>Cc Thomas Gleixner <[email protected]>Cc Tejun Heo <[email protected]>Cc Catalin Marinas <[email protected]>--- lib/debugobjects.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)lib/debugobjects.c +0
-0
lib/debugobjects.c static void free_object(struct debug_obj *obj) · line 204
Quoted 8 lines
lib/debugobjects.c +1
-1@@ -198,7 +198,7 @@ static void free_object(struct debug_obj *obj)* initialized: */ if (obj_pool_free >ODEBUG_POOL_SIZE && obj_cache) - sched = !work_pending (&debug_obj_work); + sched =keventd_up () && !work_pending (&debug_obj_work);hlist_add_head (&obj->node, &obj_pool); obj_pool_free++; obj_pool_used--;
What's up with this patch? I can't find it in -next...
Marcin
[tip:core/urgent] debugobjects: Fix boot crash when kmemleak and debugobjects enabled
In reply to Marcin SlusarzCommit-ID: 161b6ae0e067e421b20bb35caf66bdb405c929ac Gitweb: http://git.kernel.org/tip/161b6ae0e067e421b20bb35caf66bdb405c929ac Author: Marcin Slusarz <[email protected]> AuthorDate: Sat, 28 May 2011 13:23:42 +0200 Committer: Thomas Gleixner <[email protected]> CommitDate: Mon, 20 Jun 2011 14:38:43 +0200
debugobjects: Fix boot crash when kmemleak and debugobjects enabled
Order of initialization look like this:
...
debugobjects
kmemleak
...(lots of other subsystems)...
workqueues (through early initcall)
...
debugobjects use schedule_work for batch freeing of its data and kmemleak heavily use debugobjects, so when it comes to freeing and workqueues were not initialized yet, kernel crashes:
BUG: unable to handle kernel NULL pointer dereference at (null) IP: [<ffffffff810854d1>] __queue_work+0x29/0x41a [<ffffffff81085910>] queue_work_on+0x16/0x1d [<ffffffff81085abc>] queue_work+0x29/0x55 [<ffffffff81085afb>] schedule_work+0x13/0x15 [<ffffffff81242de1>] free_object+0x90/0x95 [<ffffffff81242f6d>] debug_check_no_obj_freed+0x187/0x1d3 [<ffffffff814b6504>] ? _raw_spin_unlock_irqrestore+0x30/0x4d [<ffffffff8110bd14>] ? free_object_rcu+0x68/0x6d [<ffffffff8110890c>] kmem_cache_free+0x64/0x12c [<ffffffff8110bd14>] free_object_rcu+0x68/0x6d [<ffffffff810b58bc>] __rcu_process_callbacks+0x1b6/0x2d9
...
because system_wq is NULL.
Fix it by checking if workqueues susbystem was initialized before using.
--- lib/debugobjects.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
lib/debugobjects.c +1 -1
@@ -198,7 +198,7 @@ static void free_object(struct debug_obj *obj)* initialized: */ if (obj_pool_free >ODEBUG_POOL_SIZE && obj_cache) - sched = !work_pending (&debug_obj_work); + sched =keventd_up () && !work_pending (&debug_obj_work);hlist_add_head (&obj->node, &obj_pool); obj_pool_free++; obj_pool_used--;