From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752826Ab1F1Tzj (ORCPT ); Tue, 28 Jun 2011 15:55:39 -0400 Received: from mail.candelatech.com ([208.74.158.172]:55901 "EHLO ns3.lanforge.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751737Ab1F1Tze (ORCPT ); Tue, 28 Jun 2011 15:55:34 -0400 Message-ID: <4E0A31B5.409@candelatech.com> Date: Tue, 28 Jun 2011 12:55:33 -0700 From: Ben Greear Organization: Candela Technologies User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.9) Gecko/20100430 Fedora/3.0.4-2.fc11 Thunderbird/3.0.4 MIME-Version: 1.0 To: Linux Kernel Mailing List Subject: lockdep splat in patched 3.0.0-rc5+ kernel. Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org I don't think this has anything to do with the NFS patches I'm testing, but it's always possible.... ======================================================= [ INFO: possible circular locking dependency detected ] 3.0.0-rc5+ #9 ------------------------------------------------------- btserver/22102 is trying to acquire lock: (rcu_node_level_0){..-...}, at: [] rcu_report_unblock_qs_rnp+0x52/0x72 but task is already holding lock: (&rq->lock){-.-.-.}, at: [] sched_ttwu_pending+0x34/0x58 which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #3 (&rq->lock){-.-.-.}: [] lock_acquire+0xf4/0x14b [] _raw_spin_lock+0x36/0x45 [] __task_rq_lock+0x5b/0x89 [] wake_up_new_task+0x41/0x116 [] do_fork+0x207/0x2f1 [] kernel_thread+0x70/0x72 [] rest_init+0x21/0xd7 [] start_kernel+0x3bd/0x3c8 [] x86_64_start_reservations+0xb8/0xbc [] x86_64_start_kernel+0x101/0x110 -> #2 (&p->pi_lock){-.-.-.}: [] lock_acquire+0xf4/0x14b [] _raw_spin_lock_irqsave+0x4e/0x60 [] try_to_wake_up+0x29/0x1a0 [] default_wake_function+0xd/0xf [] autoremove_wake_function+0x13/0x38 [] __wake_up_common+0x49/0x7f [] __wake_up+0x34/0x48 [] rcu_report_exp_rnp+0x50/0x89 [] __rcu_read_unlock+0x1e9/0x24e [] sk_filter+0x102/0x113 [] netlink_dump+0x79/0x19b [] netlink_recvmsg+0x1c7/0x2f8 [] __sock_recvmsg_nosec+0x65/0x6e [] __sock_recvmsg+0x49/0x54 [] sock_recvmsg+0xa6/0xbf [] __sys_recvmsg+0x147/0x21e [] sys_recvmsg+0x3d/0x5b [] system_call_fastpath+0x16/0x1b -> #1 (sync_rcu_preempt_exp_wq.lock){......}: [] lock_acquire+0xf4/0x14b [] _raw_spin_lock_irqsave+0x4e/0x60 [] __wake_up+0x1d/0x48 [] rcu_report_exp_rnp+0x50/0x89 [] sync_rcu_preempt_exp_init.clone.0+0x3e/0x53 [] synchronize_rcu_expedited+0xdb/0x1c3 [] synchronize_net+0x25/0x2e [] rollback_registered_many+0xee/0x1e1 [] unregister_netdevice_many+0x14/0x55 [] 0xffffffffa0379118 [] ops_exit_list+0x25/0x4e [] unregister_pernet_operations+0x5c/0x8e [] unregister_pernet_subsys+0x22/0x32 [] 0xffffffffa0381dac [] sys_delete_module+0x1aa/0x20e [] system_call_fastpath+0x16/0x1b -> #0 (rcu_node_level_0){..-...}: [] __lock_acquire+0xae6/0xdd5 [] lock_acquire+0xf4/0x14b [] _raw_spin_lock+0x36/0x45 [] rcu_report_unblock_qs_rnp+0x52/0x72 [] __rcu_read_unlock+0x1a7/0x24e [] rcu_read_unlock+0x21/0x23 [] cpuacct_charge+0x53/0x5b [] update_curr+0x11f/0x15a [] enqueue_task_fair+0x46/0x22a [] enqueue_task+0x61/0x68 [] activate_task+0x28/0x30 [] ttwu_activate+0x12/0x34 [] ttwu_do_activate.clone.4+0x2d/0x3f [] sched_ttwu_pending+0x43/0x58 [] scheduler_ipi+0x9/0xb [] smp_reschedule_interrupt+0x25/0x27 [] reschedule_interrupt+0x13/0x20 [] rcu_read_unlock+0x21/0x23 [] ip_queue_xmit+0x35e/0x3b1 [] tcp_transmit_skb+0x785/0x7c3 [] tcp_connect+0x418/0x47a [] tcp_v4_connect+0x3c6/0x419 [] inet_stream_connect+0xa4/0x25f [] sys_connect+0x75/0x98 [] system_call_fastpath+0x16/0x1b other info that might help us debug this: Chain exists of: rcu_node_level_0 --> &p->pi_lock --> &rq->lock Possible unsafe locking scenario: CPU0 CPU1 ---- ---- lock(&rq->lock); lock(&p->pi_lock); lock(&rq->lock); lock(rcu_node_level_0); *** DEADLOCK *** 2 locks held by btserver/22102: #0: (sk_lock-AF_INET){+.+.+.}, at: [] inet_stream_connect+0x3a/0x25f #1: (&rq->lock){-.-.-.}, at: [] sched_ttwu_pending+0x34/0x58 stack backtrace: Pid: 22102, comm: btserver Not tainted 3.0.0-rc5+ #9 Call Trace: [] ? _raw_spin_unlock_irqrestore+0x6b/0x79 [] print_circular_bug+0x1fe/0x20f [] __lock_acquire+0xae6/0xdd5 [] ? rcu_report_unblock_qs_rnp+0x52/0x72 [] lock_acquire+0xf4/0x14b [] ? rcu_report_unblock_qs_rnp+0x52/0x72 [] _raw_spin_lock+0x36/0x45 [] ? rcu_report_unblock_qs_rnp+0x52/0x72 [] ? _raw_spin_unlock+0x45/0x52 [] rcu_report_unblock_qs_rnp+0x52/0x72 [] ? __rcu_read_unlock+0xdc/0x24e [] __rcu_read_unlock+0x1a7/0x24e [] rcu_read_unlock+0x21/0x23 [] cpuacct_charge+0x53/0x5b [] update_curr+0x11f/0x15a [] enqueue_task_fair+0x46/0x22a [] enqueue_task+0x61/0x68 [] activate_task+0x28/0x30 [] ttwu_activate+0x12/0x34 [] ttwu_do_activate.clone.4+0x2d/0x3f [] sched_ttwu_pending+0x43/0x58 [] scheduler_ipi+0x9/0xb [] smp_reschedule_interrupt+0x25/0x27 [] reschedule_interrupt+0x13/0x20 [] ? __rcu_read_unlock+0x20/0x24e [] ? ip_output+0xa6/0xaf [] rcu_read_unlock+0x21/0x23 [] ip_queue_xmit+0x35e/0x3b1 [] ? ip_send_reply+0x247/0x247 [] tcp_transmit_skb+0x785/0x7c3 [] tcp_connect+0x418/0x47a [] ? secure_tcp_sequence_number+0x55/0x6f [] tcp_v4_connect+0x3c6/0x419 [] ? inet_stream_connect+0x3a/0x25f [] inet_stream_connect+0xa4/0x25f [] ? might_fault+0x4e/0x9e [] ? copy_from_user+0x2a/0x2c [] sys_connect+0x75/0x98 [] ? sysret_check+0x2e/0x69 [] ? trace_hardirqs_on_caller+0x111/0x135 [] ? audit_syscall_entry+0x119/0x145 [] ? trace_hardirqs_on_thunk+0x3a/0x3f [] system_call_fastpath+0x16/0x1b -- Ben Greear Candela Technologies Inc http://www.candelatech.com