From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mark McLoughlin Subject: 2.6.29-rc3 circular locking dependency detected Date: Tue, 03 Feb 2009 10:25:26 +0000 Message-ID: <1233656726.3726.22.camel@blaa> Reply-To: Mark McLoughlin Mime-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: 7bit To: kvm Return-path: Received: from mx2.redhat.com ([66.187.237.31]:48590 "EHLO mx2.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751623AbZBCKZ3 (ORCPT ); Tue, 3 Feb 2009 05:25:29 -0500 Received: from int-mx2.corp.redhat.com (int-mx2.corp.redhat.com [172.16.27.26]) by mx2.redhat.com (8.13.8/8.13.8) with ESMTP id n13APT7G001342 for ; Tue, 3 Feb 2009 05:25:29 -0500 Received: from ns3.rdu.redhat.com (ns3.rdu.redhat.com [10.11.255.199]) by int-mx2.corp.redhat.com (8.13.1/8.13.1) with ESMTP id n13APTLx006414 for ; Tue, 3 Feb 2009 05:25:29 -0500 Received: from [127.0.0.1] (sebastian-int.corp.redhat.com [172.16.52.221]) by ns3.rdu.redhat.com (8.13.8/8.13.8) with ESMTP id n13APRaN003451 for ; Tue, 3 Feb 2009 05:25:29 -0500 Sender: kvm-owner@vger.kernel.org List-ID: Hi, Just saw this when starting a guest with an assigned device. Cheers, Mark. ======================================================= [ INFO: possible circular locking dependency detected ] 2.6.29-0.74.rc3.git3.fc11.x86_64 #1 ------------------------------------------------------- qemu-kvm/3706 is trying to acquire lock: (&kvm->lock){--..}, at: [] kvm_emulate_pio+0x1ab/0x1ff [kvm] but task is already holding lock: (&kvm->slots_lock){----}, at: [] kvm_arch_vcpu_ioctl_run+0x49 7/0x73a [kvm] which lock already depends on the new lock. the existing dependency chain (in reverse order) is: -> #1 (&kvm->slots_lock){----}: [] __lock_acquire+0xaab/0xc41 [] lock_acquire+0x8d/0xba [] down_read+0x4b/0x7f [] kvm_iommu_map_guest+0x62/0xb8 [kvm] [] kvm_vm_ioctl+0x3f4/0x7f1 [kvm] [] vfs_ioctl+0x2a/0x78 [] do_vfs_ioctl+0x46b/0x4ab [] sys_ioctl+0x55/0x77 [] system_call_fastpath+0x16/0x1b [] 0xffffffffffffffff -> #0 (&kvm->lock){--..}: [] __lock_acquire+0x94c/0xc41 [] lock_acquire+0x8d/0xba [] __mutex_lock_common+0x107/0x39c [] mutex_lock_nested+0x35/0x3a [] kvm_emulate_pio+0x1ab/0x1ff [kvm] [] handle_io+0x6e/0x76 [kvm_intel] [] kvm_handle_exit+0x1ba/0x1db [kvm_intel] [] kvm_arch_vcpu_ioctl_run+0x50b/0x73a [kvm] [] kvm_vcpu_ioctl+0xfc/0x48b [kvm] [] vfs_ioctl+0x2a/0x78 [] do_vfs_ioctl+0x46b/0x4ab [] sys_ioctl+0x55/0x77 [] system_call_fastpath+0x16/0x1b [] 0xffffffffffffffff other info that might help us debug this: 2 locks held by qemu-kvm/3706: #0: (&vcpu->mutex){--..}, at: [] vcpu_load+0x15/0x37 [kvm] #1: (&kvm->slots_lock){----}, at: [] kvm_arch_vcpu_ioctl_run +0x497/0x73a [kvm] stack backtrace: Pid: 3706, comm: qemu-kvm Not tainted 2.6.29-0.74.rc3.git3.fc11.x86_64 #1 Call Trace: [] print_circular_bug_tail+0x71/0x7c [] __lock_acquire+0x94c/0xc41 [] lock_acquire+0x8d/0xba [] ? kvm_emulate_pio+0x1ab/0x1ff [kvm] [] __mutex_lock_common+0x107/0x39c [] ? kvm_emulate_pio+0x1ab/0x1ff [kvm] [] ? kvm_emulate_pio+0x1ab/0x1ff [kvm] [] mutex_lock_nested+0x35/0x3a [] kvm_emulate_pio+0x1ab/0x1ff [kvm] [] ? kvm_register_read+0x26/0x35 [kvm_intel] [] handle_io+0x6e/0x76 [kvm_intel] [] kvm_handle_exit+0x1ba/0x1db [kvm_intel] [] kvm_arch_vcpu_ioctl_run+0x50b/0x73a [kvm] [] kvm_vcpu_ioctl+0xfc/0x48b [kvm] [] ? inode_has_perm+0x6c/0x72 [] vfs_ioctl+0x2a/0x78 [] do_vfs_ioctl+0x46b/0x4ab [] sys_ioctl+0x55/0x77 [] system_call_fastpath+0x16/0x1b