Re: [PATCH v6 00/20] Add VFIO mediated device support and DEV-MSI support for the idxd driver
From: Jason Gunthorpe
Date: Wed Jun 02 2021 - 19:17:55 EST
On Wed, Jun 02, 2021 at 08:40:51AM -0700, Dave Jiang wrote:
>
> On 5/23/2021 4:22 PM, Jason Gunthorpe wrote:
> > On Fri, May 21, 2021 at 05:19:05PM -0700, Dave Jiang wrote:
> > > Introducing mdev types “1dwq-v1” type. This mdev type allows
> > > allocation of a single dedicated wq from available dedicated wqs. After
> > > a workqueue (wq) is enabled, the user will generate an uuid. On mdev
> > > creation, the mdev driver code will find a dwq depending on the mdev
> > > type. When the create operation is successful, the user generated uuid
> > > can be passed to qemu. When the guest boots up, it should discover a
> > > DSA device when doing PCI discovery.
> > >
> > > For example of “1dwq-v1” type:
> > > 1. Enable wq with “mdev” wq type
> > > 2. A user generated uuid.
> > > 3. The uuid is written to the mdev class sysfs path:
> > > echo $UUID > /sys/class/mdev_bus/0000\:00\:0a.0/mdev_supported_types/idxd-1dwq-v1/create
> > > 4. Pass the following parameter to qemu:
> > > "-device vfio-pci,sysfsdev=/sys/bus/pci/devices/0000:00:0a.0/$UUID"
> > So the idxd core driver knows to create a "vfio" wq with its own much
> > machinery but you still want to involve the horrible mdev guid stuff?
> >
> > Why??
>
> Are you referring to calling mdev_device_create() directly in the mdev
> idxd_driver probe?
No, just call vfio_register_group_dev and forget about mdev.
> I think this would work with our dedicated wq where a single mdev
> can be assigned to a wq.
Ok, sounds great
> However, later on when we need to support shared wq where we can
> create multiple mdev per wq, we'll need an entry point to do so. In
> the name of making things consistent from user perspective, going
> through sysfs seems the way to do it.
Why not use your already very complicated idxd sysfs to do this?
Jason