> -----Original Message----- > From: Ian Campbell [mailto:ijc@xxxxxxxxxxxxxx] > Sent: Thursday, July 28, 2011 9:28 AM > To: Rose, Gregory V > Cc: Konrad Rzeszutek Wilk; netdev@xxxxxxxxxxxxxxx; davem@xxxxxxxxxxxxx; > bhutchings@xxxxxxxxxxxxxx; Kirsher, Jeffrey T; Jesse Barnes; linux- > pci@xxxxxxxxxxxxxxx > Subject: RE: [RFC net-next PATCH 1/4] pci: Add flag indicating device has > been assigned by KVM > > On Thu, 2011-07-28 at 08:58 -0700, Rose, Gregory V wrote: > > > -----Original Message----- > > > From: Ian Campbell [mailto:ijc@xxxxxxxxxxxxxx] > > > Sent: Thursday, July 28, 2011 8:11 AM > > > To: Rose, Gregory V; Konrad Rzeszutek Wilk > > > Cc: netdev@xxxxxxxxxxxxxxx; davem@xxxxxxxxxxxxx; > > > bhutchings@xxxxxxxxxxxxxx; Kirsher, Jeffrey T; Jesse Barnes; linux- > > > pci@xxxxxxxxxxxxxxx > > > Subject: Re: [RFC net-next PATCH 1/4] pci: Add flag indicating device > has > > > been assigned by KVM > > > > > > On Wed, 2011-07-27 at 15:17 -0700, Greg Rose wrote: > > > > Device drivers that create and destroy SR-IOV virtual functions via > > > > calls to pci_enable_sriov() and pci_disable_sriov can cause > catastrophic > > > > failures if they attempt to destroy VFs while they are assigned to > > > > guest virtual machines. By adding a flag for use by the KVM module > > > > to indicate that a device is assigned a device driver can check that > > > > flag and avoid destroying VFs while they are assigned and avoid > system > > > > failures. > > > > > > > > Signed-off-by: Greg Rose <gregory.v.rose@xxxxxxxxx> > > > > --- > > > > > > > > include/linux/pci.h | 2 ++ > > > > > > I added Jesse and linux-pci to CC. > > > > > > > virt/kvm/assigned-dev.c | 2 ++ > > > > virt/kvm/iommu.c | 4 ++++ > > > > 3 files changed, 8 insertions(+), 0 deletions(-) > > > > > > I suppose this would also be useful in Xen's pciback or any other > system > > > which does passthrough? (Konrad CC'd for pciback) > > > > Definitely yes. Xen experiences the same issues when the PF driver is > > removed while VFs are assigned to guests. > > > > > > > > Is there some common lower layer we could hook this in to? (does > > > iommu_attach/detach_device make sense?) Or shall we just add the flag > > > manipulations to pciback as well? > > [Greg Rose] > > > > I was unaware of any common lower layers, i.e I didn't know that Xen > > also uses the iommu_attach/detach_device calls. > > my mistake -- under Xen the iommu is driver by the hypervisor and not > the domain 0 kernel so there is no iommu_* in pciback. > > > It took me a week of digging around in the KVM module code just to > > find these hooks. > > I'm not actually sure where in pciback the right place to put this would > be is, perhaps Konrad has an idea. OK, but I hope Xen can still use the dev_flag assignment bit. Thanks, - Greg ��.n��������+%������w��{.n�����{���"�)��jg��������ݢj����G�������j:+v���w�m������w�������h�����٥