From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Lan, Tianyu" Subject: Re: [RFC PATCH V2 09/10] Qemu/VFIO: Add SRIOV VF migration support Date: Wed, 25 Nov 2015 23:32:23 +0800 Message-ID: <5655D487.6030400@intel.com> References: <1448372127-28115-1-git-send-email-tianyu.lan@intel.com> <1448372127-28115-10-git-send-email-tianyu.lan@intel.com> <20151124225604-mutt-send-email-mst@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Cc: aik@ozlabs.ru, alex.williamson@redhat.com, amit.shah@redhat.com, anthony@codemonkey.ws, ard.biesheuvel@linaro.org, blauwirbel@gmail.com, cornelia.huck@de.ibm.com, eddie.dong@intel.com, nrupal.jani@intel.com, agraf@suse.de, kvm@vger.kernel.org, pbonzini@redhat.com, qemu-devel@nongnu.org, emil.s.tantilov@intel.com, gerlitz.or@gmail.com, donald.c.skidmore@intel.com, mark.d.rustad@intel.com, kraxel@redhat.com, lcapitulino@redhat.com, quintela@redhat.com To: "Michael S. Tsirkin" Return-path: Received: from mga01.intel.com ([192.55.52.88]:5817 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751135AbbKYPck (ORCPT ); Wed, 25 Nov 2015 10:32:40 -0500 In-Reply-To: <20151124225604-mutt-send-email-mst@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: On 11/25/2015 5:03 AM, Michael S. Tsirkin wrote: >> >+void vfio_migration_cap_handle(PCIDevice *pdev, uint32_t addr, >> >+ uint32_t val, int len) >> >+{ >> >+ VFIOPCIDevice *vdev = DO_UPCAST(VFIOPCIDevice, pdev, pdev); >> >+ >> >+ if (addr == vdev->migration_cap + PCI_VF_MIGRATION_VF_STATUS >> >+ && val == PCI_VF_READY_FOR_MIGRATION) { >> >+ qemu_event_set(&migration_event); > This would wake migration so it can proceed - > except it needs QEMU lock to run, and that's > taken by the migration thread. Sorry, I seem to miss something. Which lock may cause dead lock when calling vfio_migration_cap_handle() and run migration? The function is called when VF accesses faked PCI capability. > > It seems unlikely that this ever worked - how > did you test this? >