From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755280Ab1GNOuc (ORCPT ); Thu, 14 Jul 2011 10:50:32 -0400 Received: from mail-ey0-f174.google.com ([209.85.215.174]:45088 "EHLO mail-ey0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754787Ab1GNOua (ORCPT ); Thu, 14 Jul 2011 10:50:30 -0400 Date: Thu, 14 Jul 2011 17:49:46 +0300 From: Sergey Senozhatsky To: Peter Zijlstra Cc: Ingo Molnar , Thomas Gleixner , Steven Rostedt , Andrew Morton , "Paul E. McKenney" , Dipankar Sarma , linux-kernel@vger.kernel.org Subject: INFO: possible circular locking dependency detected Message-ID: <20110714144946.GA3354@swordfish.minsk.epam.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="wac7ysb48OaltWcw" Content-Disposition: inline User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --wac7ysb48OaltWcw Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hello, [ 4172.371094] =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D [ 4172.371097] [ INFO: possible circular locking dependency detected ] [ 4172.371103] 3.0.0-rc7-dbg-00565-g6b31efc #644 [ 4172.371105] ------------------------------------------------------- [ 4172.371108] make/11702 is trying to acquire lock: [ 4172.371111] (rcu_node_level_0){..-...}, at: [] __rcu_= read_unlock+0xb9/0x217 [ 4172.371123]=20 [ 4172.371123] but task is already holding lock: [ 4172.371125] (&p->pi_lock){-.-.-.}, at: [] try_to_wake= _up+0x29/0x28b [ 4172.371135]=20 [ 4172.371135] which lock already depends on the new lock. [ 4172.371136]=20 [ 4172.371138]=20 [ 4172.371138] the existing dependency chain (in reverse order) is: [ 4172.371141]=20 [ 4172.371141] -> #2 (&p->pi_lock){-.-.-.}: [ 4172.371146] [] lock_acquire+0x138/0x1ac [ 4172.371153] [] _raw_spin_lock_irqsave+0x4e/0x60 [ 4172.371159] [] try_to_wake_up+0x29/0x28b [ 4172.371163] [] default_wake_function+0xd/0xf [ 4172.371167] [] autoremove_wake_function+0xf/0x33 [ 4172.371173] [] __wake_up_common+0x48/0x7e [ 4172.371179] [] __wake_up+0x34/0x48 [ 4172.371183] [] rcu_report_exp_rnp.isra.24+0x4a/= 0x84 [ 4172.371187] [] __rcu_read_unlock+0x1b5/0x217 [ 4172.371191] [] get_pid_task+0x71/0x7e [ 4172.371195] [] proc_single_show+0x36/0x7c [ 4172.371201] [] seq_read+0x17b/0x362 [ 4172.371208] [] vfs_read+0xaa/0x13a [ 4172.371213] [] sys_read+0x45/0x6c [ 4172.371217] [] system_call_fastpath+0x16/0x1b [ 4172.371223]=20 [ 4172.371223] -> #1 (sync_rcu_preempt_exp_wq.lock){......}: [ 4172.371228] [] lock_acquire+0x138/0x1ac [ 4172.371232] [] _raw_spin_lock_irqsave+0x4e/0x60 [ 4172.371236] [] __wake_up+0x1d/0x48 [ 4172.371240] [] rcu_report_exp_rnp.isra.24+0x4a/= 0x84 [ 4172.371244] [] __rcu_read_unlock+0x1b5/0x217 [ 4172.371248] [] get_pid_task+0x71/0x7e [ 4172.371251] [] proc_single_show+0x36/0x7c [ 4172.371255] [] seq_read+0x17b/0x362 [ 4172.371259] [] vfs_read+0xaa/0x13a [ 4172.371263] [] sys_read+0x45/0x6c [ 4172.371266] [] system_call_fastpath+0x16/0x1b [ 4172.371270]=20 [ 4172.371270] -> #0 (rcu_node_level_0){..-...}: [ 4172.371275] [] __lock_acquire+0xffa/0x1661 [ 4172.371279] [] lock_acquire+0x138/0x1ac [ 4172.371283] [] _raw_spin_lock+0x36/0x45 [ 4172.371286] [] __rcu_read_unlock+0xb9/0x217 [ 4172.371290] [] select_task_rq_fair+0xa51/0xa99 [ 4172.371294] [] try_to_wake_up+0x153/0x28b [ 4172.371298] [] wake_up_process+0x10/0x12 [ 4172.371302] [] wake_up_worker+0x1f/0x21 [ 4172.371306] [] insert_work+0x63/0x67 [ 4172.371309] [] __queue_work+0x3bd/0x46a [ 4172.371313] [] delayed_work_timer_fn+0x25/0x2a [ 4172.371316] [] run_timer_softirq+0x2dc/0x510 [ 4172.371321] [] __do_softirq+0x134/0x2ff [ 4172.371327] [] call_softirq+0x1c/0x30 [ 4172.371331] [] do_softirq+0x46/0x9f [ 4172.371336] [] irq_exit+0x4e/0xa0 [ 4172.371339] [] smp_apic_timer_interrupt+0x85/0x= 93 [ 4172.371343] [] apic_timer_interrupt+0x13/0x20 [ 4172.371347] [] do_msgsnd+0x399/0x40e [ 4172.371352] [] sys_msgsnd+0x48/0x4f [ 4172.371355] [] system_call_fastpath+0x16/0x1b [ 4172.371360]=20 [ 4172.371360] other info that might help us debug this: [ 4172.371361]=20 [ 4172.371363] Chain exists of: [ 4172.371363] rcu_node_level_0 --> sync_rcu_preempt_exp_wq.lock --> &p->= pi_lock [ 4172.371370]=20 [ 4172.371371] Possible unsafe locking scenario: [ 4172.371372]=20 [ 4172.371374] CPU0 CPU1 [ 4172.371375] ---- ---- [ 4172.371377] lock(&p->pi_lock); [ 4172.371380] lock(sync_rcu_preempt_exp_wq.= lock); [ 4172.371384] lock(&p->pi_lock); [ 4172.371387] lock(rcu_node_level_0); [ 4172.371390]=20 [ 4172.371390] *** DEADLOCK *** [ 4172.371391]=20 [ 4172.371393] 3 locks held by make/11702: [ 4172.371395] #0: (&(&dbs_info->work)->timer){+.-...}, at: [] run_timer_softirq+0x1cd/0x510 [ 4172.371402] #1: (&(&gcwq->lock)->rlock){-.-...}, at: [] __queue_work+0x1d7/0x46a [ 4172.371409] #2: (&p->pi_lock){-.-.-.}, at: [] try_to= _wake_up+0x29/0x28b [ 4172.371415]=20 [ 4172.371416] stack backtrace: [ 4172.371419] Pid: 11702, comm: make Not tainted 3.0.0-rc7-dbg-00565-g6b31= efc #644 [ 4172.371421] Call Trace: [ 4172.371423] [] print_circular_bug+0x293/0x2a4 [ 4172.371431] [] __lock_acquire+0xffa/0x1661 [ 4172.371436] [] ? select_task_rq_fair+0x185/0xa99 [ 4172.371440] [] ? __rcu_read_unlock+0xb9/0x217 [ 4172.371444] [] lock_acquire+0x138/0x1ac [ 4172.371448] [] ? __rcu_read_unlock+0xb9/0x217 [ 4172.371453] [] _raw_spin_lock+0x36/0x45 [ 4172.371456] [] ? __rcu_read_unlock+0xb9/0x217 [ 4172.371460] [] __rcu_read_unlock+0xb9/0x217 [ 4172.371464] [] select_task_rq_fair+0xa51/0xa99 [ 4172.371468] [] ? select_task_rq_fair+0x656/0xa99 [ 4172.371471] [] ? try_to_wake_up+0x29/0x28b [ 4172.371475] [] ? try_to_wake_up+0x29/0x28b [ 4172.371482] [] ? do_raw_spin_lock+0x6b/0x122 [ 4172.371486] [] try_to_wake_up+0x153/0x28b [ 4172.371489] [] ? do_raw_spin_lock+0x6b/0x122 [ 4172.371493] [] wake_up_process+0x10/0x12 [ 4172.371497] [] wake_up_worker+0x1f/0x21 [ 4172.371500] [] insert_work+0x63/0x67 [ 4172.371503] [] __queue_work+0x3bd/0x46a [ 4172.371507] [] ? run_timer_softirq+0x1cd/0x510 [ 4172.371511] [] delayed_work_timer_fn+0x25/0x2a [ 4172.371514] [] run_timer_softirq+0x2dc/0x510 [ 4172.371518] [] ? run_timer_softirq+0x1cd/0x510 [ 4172.371521] [] ? schedule_work+0x15/0x15 [ 4172.371525] [] __do_softirq+0x134/0x2ff [ 4172.371530] [] ? tick_program_event+0x1a/0x1c [ 4172.371534] [] call_softirq+0x1c/0x30 [ 4172.371538] [] do_softirq+0x46/0x9f [ 4172.371541] [] irq_exit+0x4e/0xa0 [ 4172.371545] [] smp_apic_timer_interrupt+0x85/0x93 [ 4172.371549] [] apic_timer_interrupt+0x13/0x20 [ 4172.371551] [] ? trace_hardirqs_on_caller+0x10= d/0x131 [ 4172.371559] [] ? __rcu_read_unlock+0x4f/0x217 [ 4172.371563] [] do_msgsnd+0x399/0x40e [ 4172.371567] [] sys_msgsnd+0x48/0x4f [ 4172.371571] [] system_call_fastpath+0x16/0x1b Sergey --wac7ysb48OaltWcw Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) iJwEAQECAAYFAk4fAgoACgkQfKHnntdSXjRflwQAqTEB6K+7GMUcYecv07xvC19n k62FDgDLbRoa0KcVcU74dmGYSbckw1xbakYaWteTVr8e5o8GfcE1qUwTFp5FGI+r a6IGxS2f9c6UWJtHJKe/Fgj4ALvbKB5YI2cPDXKY7eSl+KJGMtNkspcTpdRsKnTD JmmAn9PDl2K33xuvCs8= =6/ML -----END PGP SIGNATURE----- --wac7ysb48OaltWcw--