[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1198092200.2716.49.camel@imap.mvista.com>
Date: Wed, 19 Dec 2007 11:23:20 -0800
From: Daniel Walker <dwalker@...sta.com>
To: Miles Lane <miles.lane@...il.com>
Cc: "Rafael J. Wysocki" <rjw@...k.pl>, Pavel Machek <pavel@...e.cz>,
linux-pm@...ts.linux-foundation.org,
LKML <linux-kernel@...r.kernel.org>, clameter@....com,
Andrew Morton <akpm@...ux-foundation.org>
Subject: Re: 2.6.24-rc5-mm1 -- inconsistent {in-hardirq-W} ->
{hardirq-on-W} usage -- pm-hibernate/9940 [HC0[0]:SC0[0]:HE1:SE1]
On Wed, 2007-12-19 at 10:42 -0800, Daniel Walker wrote:
> On Wed, 2007-12-19 at 10:06 -0500, Miles Lane wrote:
> > [ 11.827653] PM: Creating hibernation image:
> > [ 11.827658] WARNING: at arch/x86/kernel/smp_32.c:561
> > native_smp_call_function_mask()
> > [ 11.827661] Pid: 9940, comm: pm-hibernate Not tainted
> > 2.6.24-rc5-mm1 #8
> > [ 11.827665] [<c0107d55>] show_trace_log_lvl+0x12/0x25
> > [ 11.827673] [<c010848a>] show_trace+0xd/0x10
> > [ 11.827677] [<c0108763>] dump_stack+0x57/0x5f
> > [ 11.827681] [<c0117db4>] native_smp_call_function_mask+0x41/0x126
> > [ 11.827686] [<c01192d9>] smp_call_function+0x18/0x1f
> > [ 11.827690] [<c012c624>] on_each_cpu+0x12/0x40
> > [ 11.827695] [<c0166ece>] drain_all_pages+0x13/0x16
> > [ 11.827700] [<c014f7b3>] swsusp_save+0x18/0x46b
> > [ 11.827705] [<c03103fa>] swsusp_arch_suspend+0x2a/0x2c
> > [ 11.827710] [<c014e7d8>] hibernate+0xba/0x16e
> > [ 11.827714] [<c014d56b>] state_store+0x45/0xac
> > [ 11.827717] [<c01ffe95>] kobj_attr_store+0x1a/0x22
> > [ 11.827722] [<c01b92c7>] sysfs_write_file+0xb8/0xe3
> > [ 11.827726] [<c01837eb>] vfs_write+0xa4/0x120
> > [ 11.827731] [<c0183d5e>] sys_write+0x3b/0x60
> > [ 11.827734] [<c0106bae>] sysenter_past_esp+0x6b/0xc1
> > [ 11.827738] =======================
> ...
> > [ 15.624993] =================================
> > [ 15.624995] [ INFO: inconsistent lock state ]
> > [ 15.624998] 2.6.24-rc5-mm1 #8
> > [ 15.624999] ---------------------------------
> > [ 15.625001] inconsistent {in-hardirq-W} -> {hardirq-on-W} usage.
>
> It looks like the swsusp_save() calls drain_all_pages() , which calls
> on_each_cpu() .. On return on_each_cpu() unconditionally enables
> interrupts so the rest of the resume process has interrupt enable
> (which , it looks like, shouldn't happen) and then you get the lockdep()
> warning due to the above..
>
> Not sure if this has been found already, or not?
>
> Should drain_all_pages() really be drain_local_pages() ?
It looks like it was drain_local_pages, but the following patch
page-allocator-clean-up-pcp-draining-functions.patch
Changes that in -mm .. I added Christoph Lameter to the CC since it's
his patch ..
Daniel
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists