From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Williamson Subject: device-assignment deadlock Date: Fri, 08 May 2009 16:21:42 -0600 Message-ID: <1241821302.26045.130.camel@lappy> Mime-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: 7bit Cc: kvm To: Sheng Yang Return-path: Received: from g4t0016.houston.hp.com ([15.201.24.19]:42875 "EHLO g4t0016.houston.hp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751321AbZEHWVo (ORCPT ); Fri, 8 May 2009 18:21:44 -0400 Sender: kvm-owner@vger.kernel.org List-ID: Hi Sheng, I think I'm running into the following deadlock in the kvm kernel module when trying to use device assignment: CPU A CPU B kvm_vm_ioctl_deassign_dev_irq() mutex_lock(&kvm->lock); worker_thread() -> kvm_deassign_irq() -> kvm_assigned_dev_interrupt_work_handler() -> deassign_host_irq() mutex_lock(&kvm->lock); -> cancel_work_sync() [blocked] I wonder if we need finer granularity locking to avoid this. Suggestions? Thanks, Alex