Re: [PATCH 1/2 V3] PCI: introduce device assignment interface and refactory related code

Alex Williamson
2014-07-21T01:58:36Z

On Sun, 2014-07-20 at 14:48 +0000, Yuval Mintz wrote:
> > On Fri, 2014-07-11 at 07:13 -0600, Alex Williamson wrote:
> > > On Fri, 2014-07-11 at 20:30 +0800, Ethan Zhao wrote:
> > > > This patch introduces two new device assignment functions
> > > >
> > > > pci_iov_assign_device(),
> > > > pci_iov_deassign_device()
> > > >
> > > > along with the existed one
> > > >
> > > > pci_vfs_assigned()
> > > >
> > > > They construct the VFs assignment management interface, used to
> > > > assign/ deassign device to VM and query the VFs reference counter.
> > > > instead of direct manipulation of device flag.
>
> Sorry for the late intrusion into the conversation, and perhaps it's a bit
> unrelated, but given that you're creating a 'VF assignment management'
> perhaps it's the right place to add some sort of mechanism in order to
> prevent module removal once one of its VFs is assigned.
> [e.g., incrementing module reference count]
>
> At the moment [to the best of my knowledge] there's no mechanism
> preventing the 'not-so-bright' user from removing the driver, and no good
> will come out of it.

On what module would the reference count be increased, the PF? The
entire "VF assigned" interface is a hack to work around poor
architectures like legacy KVM device assignment where there's no proper
device owner for the VF. This is "fixed" by using VFIO instead and
hopefully deprecating legacy KVM assignment. Thanks,

Alex

------------------------------------------------------------------------------
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.