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

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

 




On 26/11/2018 19:48, Zhenyu Wang wrote:
> Hi,
> 
> This is respin of previous sending from https://www.spinics.net/lists/kvm/msg176447.html
> 
> 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 mdev type for that

I have a dumb question - what is the resource in this context? Usually
it would be something like a PCI BAR but here it yet another virtual GPU
instance? Thanks.


> 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
> 
> v2:
>   - Add new create_with_instances driver hook
>   - Update doc for new attributes
> 
> v3:
>   - Rename parameter and attribute names from review
>   - Make "aggregation" attribute to show maxium resource number
>     for aggregation
>   - Check driver hooks for attribute create validation
>   - Update doc and ABI spec
> 
> v4:
>   - Rebase
> 
> 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/vfio-mediated-device.txt: 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 | 25 +++++++
>  Documentation/vfio-mediated-device.txt        | 44 +++++++++--
>  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                 | 40 +++++++++-
>  drivers/vfio/mdev/mdev_private.h              |  6 +-
>  drivers/vfio/mdev/mdev_sysfs.c                | 74 ++++++++++++++++++-
>  include/linux/mdev.h                          | 19 +++++
>  9 files changed, 305 insertions(+), 23 deletions(-)
> 

-- 
Alexey



[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