Messages in this thread | | | Subject | Re: 2.6.24-rc7 lockdep warning when poweroff | From | Peter Zijlstra <> | Date | Mon, 14 Jan 2008 11:41:28 +0100 |
| |
On Mon, 2008-01-14 at 11:35 +0100, Johannes Berg wrote: > > > When I "halt -p", lockdep warnings triggered as following (hand copy): > > > > > > WARNING : at kernel/lockdep.c: 700 lookup_lock_class() > > > > > > <snip> > > > lock_acquire > > > cleanup_workqueue_thread > > > workqueue_cpu_callback > > > notifier_call_chain > > > __raw_notifier_call_chain > > > raw_notifier_call_chain > > > __cpu_down > > > disable_nonboot_cpus > > > kernel_power_off > > > sys_reboot > > > <snip> > > > > My first guess would be a __create_workqueue_key() where a key is > > re-used with a different workqueue name. > > Hm, can you elaborate how you got there from the trace above? I don't > think I'm following.
The warning that triggered (lockdep.c:700) means that one class (key) was used with more than one name.
Looking at cleanup_workqueue_thread(), the lock_acquire() there works on wq->lockdep_map, and that is only initialized at one spot: __create_workqueue_key(), thus it stands to reason that that was mis-used.
| |