[PATCH v3 0/2] VFIO mdev aggregated resources handling
Alex Williamson
alex.williamson at redhat.com
Wed Jul 8 04:17:03 UTC 2020
On Wed, 8 Jul 2020 11:40:55 +0800
Yan Zhao <yan.y.zhao at intel.com> 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 at intel.com> 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.
More information about the intel-gvt-dev
mailing list