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'. > 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