From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752658AbZBZFfN (ORCPT ); Thu, 26 Feb 2009 00:35:13 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1758800AbZBZFey (ORCPT ); Thu, 26 Feb 2009 00:34:54 -0500 Received: from mga11.intel.com ([192.55.52.93]:38347 "EHLO mga11.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1758605AbZBZFex (ORCPT ); Thu, 26 Feb 2009 00:34:53 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.38,269,1233561600"; d="scan'208";a="668629567" Date: Thu, 26 Feb 2009 13:34:50 +0800 From: Wu Fengguang To: Nick Piggin Cc: linux-kernel@vger.kernel.org Subject: recursive slqb_lock Message-ID: <20090226053450.GA31108@localhost> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.18 (2008-05-17) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Nick, I got a lockdep warning. It looks like the slqb_lock will be taken twice in the call chain: s_start() => take slqb_lock s_show() gather_stats() => take slqb_lock again Thanks, Fengguang --- [ 2229.013986] ============================================= [ 2229.017469] [ INFO: possible recursive locking detected ] [ 2229.017469] 2.6.29-rc5-next-20090220 #57 [ 2229.017469] --------------------------------------------- [ 2229.017469] mcookie/3167 is trying to acquire lock: [ 2229.017469] (slqb_lock){+++++.}, at: [] s_show+0x60/0x1f0 [ 2229.017469] [ 2229.017469] but task is already holding lock: [ 2229.017469] (slqb_lock){+++++.}, at: [] s_start+0x29/0xa0 [ 2229.017469] [ 2229.017469] other info that might help us debug this: [ 2229.017469] 2 locks held by mcookie/3167: [ 2229.017469] #0: (&p->lock){+.+.+.}, at: [] seq_read+0x3a/0x3c0 [ 2229.017469] #1: (slqb_lock){+++++.}, at: [] s_start+0x29/0xa0 [ 2229.017469] [ 2229.017469] stack backtrace: [ 2229.017469] Pid: 3167, comm: mcookie Not tainted 2.6.29-rc5-next-20090220 #57 [ 2229.017469] Call Trace: [ 2229.017469] [] __lock_acquire+0xf90/0x1ad0 [ 2229.017469] [] ? check_irq_usage+0xa5/0x100 [ 2229.017469] [] ? lockdep_init_map+0x4c/0x640 [ 2229.017469] [] lock_acquire+0x64/0x90 [ 2229.017469] [] ? s_show+0x60/0x1f0 [ 2229.017469] [] down_read+0x4b/0x80 [ 2229.017469] [] ? s_show+0x60/0x1f0 [ 2229.017469] [] s_show+0x60/0x1f0 [ 2229.017469] [] seq_read+0xeb/0x3c0 [ 2229.017469] [] ? _raw_spin_unlock+0x7d/0xa0 [ 2229.017469] [] ? seq_read+0x0/0x3c0 [ 2229.017469] [] proc_reg_read+0x79/0xb0 [ 2229.017469] [] vfs_read+0xc8/0x180 [ 2229.017469] [] sys_read+0x50/0x90 [ 2229.017469] [] system_call_fastpath+0x16/0x1b