All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Monjalon <thomas@monjalon.net>
To: Alex Williamson <alex.williamson@redhat.com>
Cc: dev@dpdk.org, kvm@vger.kernel.org, linux-pci@vger.kernel.org,
	linux-kernel@vger.kernel.org, dev@dpdk.org, mtosatti@redhat.com,
	Luca Boccassi <bluca@debian.org>,
	"Richardson, Bruce" <bruce.richardson@intel.com>,
	cohuck@redhat.com, Vamsi Attunuru <vattunuru@marvell.com>,
	Jerin Jacob <jerinjacobk@gmail.com>
Subject: Re: [dpdk-dev] [RFC PATCH 0/7] vfio/pci: SR-IOV support
Date: Tue, 11 Feb 2020 14:57:44 +0100	[thread overview]
Message-ID: <2203508.9fHWaBTJ5E@xps> (raw)
In-Reply-To: <CALBAE1Oz2u+cmoL8LhEZ-4paXEebKh3DzfWGLQLQx0oaW=tBXw@mail.gmail.com>

11/02/2020 12:18, Jerin Jacob:
> On Wed, Feb 5, 2020 at 4:35 AM Alex Williamson wrote:
> >
> > There seems to be an ongoing desire to use userspace, vfio-based
> > drivers for both SR-IOV PF and VF devices.  The fundamental issue
> > with this concept is that the VF is not fully independent of the PF
> > driver.  Minimally the PF driver might be able to deny service to the
> > VF, VF data paths might be dependent on the state of the PF device,
> > or the PF my have some degree of ability to inspect or manipulate the
> > VF data.  It therefore would seem irresponsible to unleash VFs onto
> > the system, managed by a user owned PF.
> >
> > We address this in a few ways in this series.  First, we can use a bus
> > notifier and the driver_override facility to make sure VFs are bound
> > to the vfio-pci driver by default.  This should eliminate the chance
> > that a VF is accidentally bound and used by host drivers.  We don't
> > however remove the ability for a host admin to change this override.
> >
> > The next issue we need to address is how we let userspace drivers
> > opt-in to this participation with the PF driver.  We do not want an
> > admin to be able to unwittingly assign one of these VFs to a tenant
> > that isn't working in collaboration with the PF driver.  We could use
> > IOMMU grouping, but this seems to push too far towards tightly coupled
> > PF and VF drivers.  This series introduces a "VF token", implemented
> > as a UUID, as a shared secret between PF and VF drivers.  The token
> > needs to be set by the PF driver and used as part of the device
> > matching by the VF driver.  Provisions in the code also account for
> > restarting the PF driver with active VF drivers, requiring the PF to
> > use the current token to re-gain access to the PF.
> 
> Thanks Alex for the series. DPDK realizes this use-case through, an out of
> tree igb_uio module, for non VFIO devices. Supporting this use case, with
> VFIO, will be a great enhancement for DPDK as we are planning to
> get rid of out of tree modules any focus only on userspace aspects.
[..]
> Regarding the use case where  PF bound to DPDK/VFIO and
> VF bound to DPDK/VFIO are _two different_ processes then sharing the UUID
> will be a little tricky thing in terms of usage. But if that is the
> purpose of bringing UUID to the equation then it fine.
> 
> Overall this series looks good to me.  We can test the next non-RFC
> series and give
> Tested-by by after testing with DPDK.
[..]
> > Please comment.  In particular, does this approach meet the DPDK needs
> > for userspace PF and VF drivers, with the hopefully minor hurdle of
> > sharing a token between drivers.  The token is of course left to
> > userspace how to manage, and might be static (and not very secret) for
> > a given set of drivers.  Thanks,

Thanks Alex, it looks to be a great improvement.

In the meantime, DPDK is going to move igb_uio (an out-of-tree
Linux kernel module) from the main DPDK repository to a side-repo.
This move and this patchset will hopefully encourage using VFIO.
As Jerin said, DPDK prefers relying on upstream Linux modules.



  reply	other threads:[~2020-02-11 13:57 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-04 23:05 [RFC PATCH 0/7] vfio/pci: SR-IOV support Alex Williamson
2020-02-04 23:05 ` [dpdk-dev] " Alex Williamson
2020-02-04 23:05 ` [RFC PATCH 1/7] vfio: Include optional device match in vfio_device_ops callbacks Alex Williamson
2020-02-04 23:05   ` [dpdk-dev] " Alex Williamson
2020-02-06 11:14   ` Cornelia Huck
2020-02-06 11:14     ` [dpdk-dev] " Cornelia Huck
2020-02-06 18:18     ` Alex Williamson
2020-02-06 18:18       ` [dpdk-dev] " Alex Williamson
2020-02-07  9:33       ` Cornelia Huck
2020-02-07  9:33         ` [dpdk-dev] " Cornelia Huck
2020-02-04 23:05 ` [RFC PATCH 2/7] vfio/pci: Implement match ops Alex Williamson
2020-02-04 23:05   ` [dpdk-dev] " Alex Williamson
2020-02-04 23:06 ` [RFC PATCH 3/7] vfio/pci: Introduce VF token Alex Williamson
2020-02-04 23:06   ` [dpdk-dev] " Alex Williamson
2020-02-05  4:19   ` kbuild test robot
2020-02-05  7:57   ` Liu, Yi L
2020-02-05  7:57     ` [dpdk-dev] " Liu, Yi L
2020-02-05 14:13     ` Alex Williamson
2020-02-05 14:13       ` [dpdk-dev] " Alex Williamson
2020-02-04 23:06 ` [RFC PATCH 4/7] vfio: Introduce VFIO_DEVICE_FEATURE ioctl and first user Alex Williamson
2020-02-04 23:06   ` [dpdk-dev] " Alex Williamson
2020-02-04 23:06 ` [RFC PATCH 5/7] vfio/pci: Add sriov_configure support Alex Williamson
2020-02-04 23:06   ` [dpdk-dev] " Alex Williamson
2020-02-04 23:06 ` [RFC PATCH 6/7] vfio/pci: Remove dev_fmt definition Alex Williamson
2020-02-04 23:06   ` [dpdk-dev] " Alex Williamson
2020-02-06 13:45   ` Cornelia Huck
2020-02-06 13:45     ` [dpdk-dev] " Cornelia Huck
2020-02-04 23:06 ` [RFC PATCH 7/7] vfio/pci: Cleanup .probe() exit paths Alex Williamson
2020-02-04 23:06   ` [dpdk-dev] " Alex Williamson
2020-02-04 23:17 ` [RFC PATCH 0/7] vfio/pci: SR-IOV support Alex Williamson
2020-02-04 23:17   ` [dpdk-dev] " Alex Williamson
2020-02-05  7:57   ` Liu, Yi L
2020-02-05  7:57     ` [dpdk-dev] " Liu, Yi L
2020-02-05 14:18     ` Alex Williamson
2020-02-05 14:18       ` [dpdk-dev] " Alex Williamson
2020-02-05  7:01 ` Christoph Hellwig
2020-02-05  7:01   ` [dpdk-dev] " Christoph Hellwig
2020-02-05 13:58   ` Alex Williamson
2020-02-05 13:58     ` [dpdk-dev] " Alex Williamson
2020-02-05  7:57 ` Liu, Yi L
2020-02-05  7:57   ` [dpdk-dev] " Liu, Yi L
2020-02-05 14:10   ` Alex Williamson
2020-02-05 14:10     ` [dpdk-dev] " Alex Williamson
2020-02-11 11:18 ` Jerin Jacob
2020-02-11 11:18   ` [dpdk-dev] " Jerin Jacob
2020-02-11 13:57   ` Thomas Monjalon [this message]
2020-02-11 17:06   ` Alex Williamson
2020-02-11 17:06     ` [dpdk-dev] " Alex Williamson
2020-02-11 18:03     ` Jerin Jacob
2020-02-11 18:03       ` [dpdk-dev] " Jerin Jacob

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2203508.9fHWaBTJ5E@xps \
    --to=thomas@monjalon.net \
    --cc=alex.williamson@redhat.com \
    --cc=bluca@debian.org \
    --cc=bruce.richardson@intel.com \
    --cc=cohuck@redhat.com \
    --cc=dev@dpdk.org \
    --cc=jerinjacobk@gmail.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=mtosatti@redhat.com \
    --cc=vattunuru@marvell.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.