Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755374AbYANKln (ORCPT ); Mon, 14 Jan 2008 05:41:43 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752351AbYANKlf (ORCPT ); Mon, 14 Jan 2008 05:41:35 -0500 Received: from pentafluge.infradead.org ([213.146.154.40]:39035 "EHLO pentafluge.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752083AbYANKlf (ORCPT ); Mon, 14 Jan 2008 05:41:35 -0500 Subject: Re: 2.6.24-rc7 lockdep warning when poweroff From: Peter Zijlstra To: Johannes Berg Cc: Dave Young , Linus Torvalds , Linux Kernel Mailing List , Ingo Molnar In-Reply-To: <1200306902.5887.39.camel@johannes.berg> References: <1200302644.7415.6.camel@twins> <1200306902.5887.39.camel@johannes.berg> Content-Type: text/plain Date: Mon, 14 Jan 2008 11:41:28 +0100 Message-Id: <1200307288.7415.11.camel@twins> Mime-Version: 1.0 X-Mailer: Evolution 2.21.4 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1265 Lines: 40 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() > > > > > > > > > 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 > > > > > > > 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. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/