Re: [PATCH 0/6] VFIO mdev aggregated resources handling

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2019.11.07 20:37:49 +0000, Parav Pandit wrote:
> Hi,
> 
> > -----Original Message-----
> > From: kvm-owner@xxxxxxxxxxxxxxx <kvm-owner@xxxxxxxxxxxxxxx> On Behalf
> > Of Zhenyu Wang
> > Sent: Thursday, October 24, 2019 12:08 AM
> > To: kvm@xxxxxxxxxxxxxxx
> > Cc: alex.williamson@xxxxxxxxxx; kwankhede@xxxxxxxxxx;
> > kevin.tian@xxxxxxxxx; cohuck@xxxxxxxxxx
> > Subject: [PATCH 0/6] VFIO mdev aggregated resources handling
> > 
> > Hi,
> > 
> > This is a refresh for previous send of this series. I got impression that some
> > SIOV drivers would still deploy their own create and config method so stopped
> > effort on this. But seems this would still be useful for some other SIOV driver
> > which may simply want capability to aggregate resources. So here's refreshed
> > series.
> > 
> > Current mdev device create interface depends on fixed mdev type, which get
> > uuid from user to create instance of mdev device. If user wants to use
> > customized number of resource for mdev device, then only can create new
> Can you please give an example of 'resource'?
> When I grep [1], [2] and [3], I couldn't find anything related to ' aggregate'.

The resource is vendor device specific, in SIOV spec there's ADI
(Assignable Device Interface) definition which could be e.g queue for
net device, context for gpu, etc. I just named this interface as 'aggregate'
for aggregation purpose, it's not used in spec doc.

Thanks

> 
> > mdev type for that which may not be flexible. This requirement comes not only
> > from to be able to allocate flexible resources for KVMGT, but also from Intel
> > scalable IO virtualization which would use vfio/mdev to be able to allocate
> > arbitrary resources on mdev instance. More info on [1] [2] [3].
> > 
> > To allow to create user defined resources for mdev, it trys to extend mdev
> > create interface by adding new "aggregate=xxx" parameter following UUID, for
> > target mdev type if aggregation is supported, it can create new mdev device
> > which contains resources combined by number of instances, e.g
> > 
> >     echo "<uuid>,aggregate=10" > create
> > 
> > VM manager e.g libvirt can check mdev type with "aggregation" attribute
> > which can support this setting. If no "aggregation" attribute found for mdev
> > type, previous behavior is still kept for one instance allocation. And new sysfs
> > attribute "aggregated_instances" is created for each mdev device to show
> > allocated number.
> > 
> > References:
> > [1] https://software.intel.com/en-us/download/intel-virtualization-technology-
> > for-directed-io-architecture-specification
> > [2] https://software.intel.com/en-us/download/intel-scalable-io-virtualization-
> > technical-specification
> > [3] https://schd.ws/hosted_files/lc32018/00/LC3-SIOV-final.pdf
> > 
> > Zhenyu Wang (6):
> >   vfio/mdev: Add new "aggregate" parameter for mdev create
> >   vfio/mdev: Add "aggregation" attribute for supported mdev type
> >   vfio/mdev: Add "aggregated_instances" attribute for supported mdev
> >     device
> >   Documentation/driver-api/vfio-mediated-device.rst: Update for
> >     vfio/mdev aggregation support
> >   Documentation/ABI/testing/sysfs-bus-vfio-mdev: Update for vfio/mdev
> >     aggregation support
> >   drm/i915/gvt: Add new type with aggregation support
> > 
> >  Documentation/ABI/testing/sysfs-bus-vfio-mdev | 24 ++++++
> >  .../driver-api/vfio-mediated-device.rst       | 23 ++++++
> >  drivers/gpu/drm/i915/gvt/gvt.c                |  4 +-
> >  drivers/gpu/drm/i915/gvt/gvt.h                | 11 ++-
> >  drivers/gpu/drm/i915/gvt/kvmgt.c              | 53 ++++++++++++-
> >  drivers/gpu/drm/i915/gvt/vgpu.c               | 56 ++++++++++++-
> >  drivers/vfio/mdev/mdev_core.c                 | 36 ++++++++-
> >  drivers/vfio/mdev/mdev_private.h              |  6 +-
> >  drivers/vfio/mdev/mdev_sysfs.c                | 79 ++++++++++++++++++-
> >  include/linux/mdev.h                          | 19 +++++
> >  10 files changed, 294 insertions(+), 17 deletions(-)
> > 
> > --
> > 2.24.0.rc0
> 

-- 
Open Source Technology Center, Intel ltd.

$gpg --keyserver wwwkeys.pgp.net --recv-keys 4D781827

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux