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

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

 



On Wed, 8 Jul 2020 11:40:55 +0800
Yan Zhao <yan.y.zhao@xxxxxxxxx> wrote:

> On Wed, Jul 08, 2020 at 11:38:46AM +0800, Yan Zhao wrote:
> > On Wed, Jul 08, 2020 at 09:54:19AM +0800, Zhenyu Wang wrote:  
> > > On 2020.07.07 19:06:34 -0600, Alex Williamson wrote:  
> > > > On Tue, 7 Jul 2020 23:28:39 +0000
> > > > "Tian, Kevin" <kevin.tian@xxxxxxxxx> wrote:
> > > >   
> > > > > Hi, Alex, 
> > > > > 
> > > > > Gentle ping... Please let us know whether this version looks good.  
> > > > 
> > > > I figured this is entangled with the versioning scheme.  There are
> > > > unanswered questions about how something that assumes a device of a
> > > > given type is software compatible to another device of the same type
> > > > handles aggregation and how the type class would indicate compatibility
> > > > with an aggregated instance.  Thanks,
> > > >   
> > > 
> > > +Yan
> > > 
> > > Alex, If no concern on aggregated resources info for instance that would
> > > be vendor's behavior to determine what type of resources would be aggregated,
> > > then I'll check with Yan to see how to fulfill this during migration.
> > > 
> > > Thanks
> > >  
> > 
> > hi zhenyu and Alex
> > currently in this series, it looks that aggregated instances are created
> > in this way:
> >     echo "<uuid>,aggregate=10" > create
> > 
> > Is that possible that we change it like that:
> > 1. provide a separate attribute named "aggregator" under mdev type.
> >   |- [parent physical device]
> >   |--- Vendor-specific-attributes [optional]
> >   |--- [mdev_supported_types]
> >   |     |--- [<type-id>]
> >   |     |   |--- create
> > + |     |   |--- aggregator
> >   |     |   |--- name
> >   |     |   |--- available_instances
> >   |     |   |--- device_api
> >   |     |   |--- description
> >   |     |   |--- [devices]
> > 
> > normally, the aggregator is read as 0.
> >  
> correction: normally, the aggregator is read as "1"
> 
> > 2. when we want to create an aggregated instance, we first echo the count
> > into the aggregator attribute. e.g.
> >    echo 10 > aggregator
> > It will switch the mdev type to 10 x original_type. And then,
> > available_instances and description would be updated accordingly.
> > 
> > 3. do the real mdev creation.
> >    echo <uuid> > create

Nak, this is inherently racy.  Just imagine two processes trying to
simultaneously create devices.




[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