> From: Neo Jia [mailto:c...@nvidia.com] > Sent: Tuesday, August 16, 2016 7:24 AM > > > > > > > > > > > > > > > > > For NVIDIA vGPU solution we need to know all devices assigned to a > > > > > > VM in > > > > > > one shot to commit resources of all vGPUs assigned to a VM along > > > > > > with > > > > > > some common resources. > > > > > > > > > > Kirti, can you elaborate the background about above one-shot commit > > > > > requirement? It's hard to understand such a requirement. > > > > > > > > Agree, I know NVIDIA isn't planning to support hotplug initially, but > > > > this seems like we're precluding hotplug from the design. I don't > > > > understand what's driving this one-shot requirement. > > > > > > Hi Alex, > > > > > > The requirement here is based on how our internal vGPU device model > > > designed and > > > with this we are able to pre-allocate resources required for multiple > > > virtual > > > devices within same domain. > > > > > > And I don't think this syntax will stop us from supporting hotplug at all. > > > > > > For example, you can always create a virtual mdev and then do > > > > > > echo "mdev_UUID" > /sys/class/mdev/mdev_start > > > > > > then use QEMU monitor to add the device for hotplug. > > > > Hi Neo, > > > > I'm still not understanding the advantage you get from the "one-shot" > > approach then if we can always add more mdevs by starting them later. > > Are the hotplug mdevs somehow less capable than the initial set of > > mdevs added in a single shot? If the initial set is allocated > > from the "same domain", does that give them some sort of hardware > > locality/resource benefit? Thanks, > > Hi Alex, > > At least we will not able to guarantee some special hardware resource for the > hotplug devices. > > So from our point of view, we also have dedicated internal SW entity to > manage all > virtual devices for each "domain/virtual machine", and such SW entity will be > created > at virtual device start time. > > This is why we need to do this in one-shot to support multiple virtual device > per VM case. >
Is pre-allocation of special hardware resource done one-time for all mdev instances? Can it be done one-by-one as long as mdev is started early before VM is launched? If such one-shot requirement is really required, it would be cleaner to me to introduce a mdev group concept, so mdev instances with one-short start requirements can be put under a mdev group. Then you can do one-shot start by: echo "0/1" > /sys/class/mdev/group/0/start Thanks Kevin