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.