[Bug 678972] New: kernel prints inconsistent lock state warning upon boot
https://bugzilla.novell.com/show_bug.cgi?id=678972 https://bugzilla.novell.com/show_bug.cgi?id=678972#c0 Summary: kernel prints inconsistent lock state warning upon boot Classification: openSUSE Product: openSUSE 11.4 Version: Factory Platform: Other OS/Version: Other Status: NEW Severity: Normal Priority: P5 - None Component: Kernel AssignedTo: kernel-maintainers@forge.provo.novell.com ReportedBy: from-suse@I-love.SAKURA.ne.jp QAContact: qa@suse.de Found By: --- Blocker: --- User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.9.2.15) Gecko/20110303 Firefox/3.6.15 ( .NET CLR 3.5.30729) I got below warning with the kernel built from kernel-source-2.6.37.1-1.2.2.src.rpm + rpm --checksig kernel-default-2.6.37.1-1.2.2.nosrc.rpm with debug options turned on. Maybe the culprit is some SUSE specific patch because I don't get this message with vanilla 2.6.37.3. [ 2.200687] ACPI: AC Adapter [ACAD] (on-line) [ 2.204548] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input0 [ 2.208658] ACPI: Power Button [PWRF] [ 2.272019] [ 2.272024] ================================= [ 2.273691] [ INFO: inconsistent lock state ] [ 2.274842] 2.6.37.1-s11.4 #4 [ 2.275684] --------------------------------- [ 2.275778] inconsistent {RECLAIM_FS-ON-W} -> {IN-RECLAIM_FS-W} usage. [ 2.275778] kswapd0/457 [HC0[0]:SC0[0]:HE1:SE1] takes: [ 2.275778] (cpu_hotplug.lock){+.+.?.}, at: [<c1040d0e>] get_online_cpus+0x2e/0x40 [ 2.275778] {RECLAIM_FS-ON-W} state was registered at: [ 2.275778] [<c106cd52>] mark_held_locks+0x42/0x80 [ 2.275778] [<c106d358>] __lockdep_trace_alloc+0x48/0x80 [ 2.275778] [<c106d3d2>] lockdep_trace_alloc+0x42/0x60 [ 2.275778] [<c10c8d31>] kmem_cache_alloc+0x21/0x170 [ 2.275778] [<c1192dcc>] idr_pre_get+0x2c/0x50 [ 2.275778] [<c11938d5>] ida_pre_get+0x15/0x60 [ 2.275778] [<c10538d6>] create_worker+0x56/0x140 [ 2.275778] [<c1350e0c>] workqueue_cpu_callback+0x1ac/0x1f0 [ 2.275778] [<c105e90a>] notifier_call_chain+0x6a/0x100 [ 2.275778] [<c105ecbb>] __raw_notifier_call_chain+0x1b/0x30 [ 2.275778] [<c1040df3>] __cpu_notify+0x23/0x40 [ 2.275778] [<c135f2af>] _cpu_up+0x7f/0x1b0 [ 2.275778] [<c135f42e>] cpu_up+0x4e/0xa0 [ 2.275778] [<c155a549>] smp_init+0x79/0x120 [ 2.275778] [<c155abac>] kernel_init+0x4c/0xe0 [ 2.275778] [<c100331a>] kernel_thread_helper+0x6/0x1c [ 2.275778] irq event stamp: 31 [ 2.275778] hardirqs last enabled at (31): [<c136408b>] _raw_spin_unlock_irqrestore+0x4b/0x50 [ 2.275778] hardirqs last disabled at (30): [<c1363eb9>] _raw_spin_lock_irqsave+0x19/0x80 [ 2.275778] softirqs last enabled at (0): [<c103d7db>] copy_process+0x13b/0x950 [ 2.275778] softirqs last disabled at (0): [< (null)>] (null) [ 2.275778] [ 2.275778] other info that might help us debug this: [ 2.275778] no locks held by kswapd0/457. [ 2.275778] [ 2.275778] stack backtrace: [ 2.275778] Pid: 457, comm: kswapd0 Not tainted 2.6.37.1-s11.4 #4 [ 2.275778] Call Trace: [ 2.275778] [<c103fd78>] ? printk+0x18/0x20 [ 2.275778] [<c106c698>] print_usage_bug+0x168/0x1b0 [ 2.275778] [<c106ccb9>] mark_lock_irq+0x1e9/0x240 [ 2.275778] [<c106c800>] ? check_usage_forwards+0x0/0xe0 [ 2.275778] [<c106d80c>] mark_lock+0x21c/0x3c0 [ 2.275778] [<c106d4a3>] mark_irqflags+0xb3/0x180 [ 2.275778] [<c106e28d>] __lock_acquire+0x37d/0x900 [ 2.275778] [<c105f825>] ? sched_clock_local+0x15/0x170 [ 2.275778] [<c106f8ba>] lock_acquire+0x7a/0xa0 [ 2.275778] [<c1040d0e>] ? get_online_cpus+0x2e/0x40 [ 2.275778] [<c136264a>] mutex_lock_nested+0x5a/0x2a0 [ 2.275778] [<c1040d0e>] ? get_online_cpus+0x2e/0x40 [ 2.275778] [<c1040d0e>] ? get_online_cpus+0x2e/0x40 [ 2.275778] [<c1040d0e>] get_online_cpus+0x2e/0x40 [ 2.275778] [<c10aea01>] restore_pgdat_percpu_threshold+0x11/0xf0 [ 2.275778] [<c10aa122>] ? sleeping_prematurely+0x72/0x90 [ 2.275778] [<c10aa609>] kswapd+0x179/0x1c0 [ 2.275778] [<c1059e70>] ? autoremove_wake_function+0x0/0x50 [ 2.275778] [<c106cf5b>] ? trace_hardirqs_on+0xb/0x10 [ 2.275778] [<c1059e70>] ? autoremove_wake_function+0x0/0x50 [ 2.275778] [<c1038216>] ? complete+0x46/0x60 [ 2.275778] [<c10594d5>] kthread+0x75/0x80 [ 2.275778] [<c10aa490>] ? kswapd+0x0/0x1c0 [ 2.275778] [<c1059460>] ? kthread+0x0/0x80 [ 2.275778] [<c100331a>] kernel_thread_helper+0x6/0x1c [ 2.400470] isapnp: Scanning for PnP cards... [ 2.757481] isapnp: No Plug & Play device found [ 2.934053] Real Time Clock Driver v1.12b [ 2.935392] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled [ 2.963279] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A [ 3.013659] serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A [ 3.110594] 00:09: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A [ 3.162436] 00:0a: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A [ 3.185760] Floppy drive(s): fd0 is 1.44M [ 3.200938] FDC 0 is a post-1991 82077 Reproducible: Always Steps to Reproduce: 1. Build the kernel with debug options turned on. 2. Reboot. 3. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=678972
https://bugzilla.novell.com/show_bug.cgi?id=678972#c1
Jeff Mahoney
https://bugzilla.novell.com/show_bug.cgi?id=678972
https://bugzilla.novell.com/show_bug.cgi?id=678972#c2
--- Comment #2 from Mel Gorman
This makes me suspect the SoN patches.
Why the SoN patches? (other than they have been the source of a number of problems recently) In this case, I very strongly suspect what is missing is commit [b44129b3: mm: vmstat: use a single setter function and callback for adjusting percpu thresholds] from the mainline kernel. It has been backported to 2.6.37.stable as commit [776be476: mm: vmstat: use a single setter function and callback for adjusting percpu thresholds] which might explain why the mainline kernel works. The patch was merged into -stable due to a report complaining about the same sort of lock inconsistency. I'll attach the patch in a separate post for convenience. Does the stable tree get automatically pulled into the openSUSE kernel? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=678972
https://bugzilla.novell.com/show_bug.cgi?id=678972#c3
--- Comment #3 from Mel Gorman
https://bugzilla.novell.com/show_bug.cgi?id=678972
https://bugzilla.novell.com/show_bug.cgi?id=678972#c4
--- Comment #4 from Tetsuo Handa
Created an attachment (id=419349) --> (http://bugzilla.novell.com/attachment.cgi?id=419349) [details] mm: vmstat: use a single setter function and callback for adjusting percpu thresholds
This is a copy of the -stable patch that I think should resolve this bug.
I confirmed that this patch solved the warning message. Regards. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=678972
https://bugzilla.novell.com/show_bug.cgi?id=678972#c9
--- Comment #9 from Mel Gorman
(In reply to comment #3)
Created an attachment (id=419349) --> (http://bugzilla.novell.com/attachment.cgi?id=419349) [details] [details] mm: vmstat: use a single setter function and callback for adjusting percpu thresholds
This is a copy of the -stable patch that I think should resolve this bug.
I confirmed that this patch solved the warning message.
Thanks for testing. In this case, the fix should be picked up from the -stable series and integrated into the openSUSE kernel in due course at which time the bug can be closed. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=678972
https://bugzilla.novell.com/show_bug.cgi?id=678972#c10
Mel Gorman
participants (1)
-
bugzilla_noreply@novell.com