[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [virtio-comment] [PATCH 00/11] Introduce transitional mmr pci device
On Mon, Apr 03, 2023 at 10:53:29AM -0400, Parav Pandit wrote: > > > On 4/3/2023 10:45 AM, Stefan Hajnoczi wrote: > > On Fri, Mar 31, 2023 at 01:58:23AM +0300, Parav Pandit wrote: > > > Overview: > > > --------- > > > The Transitional MMR device is a variant of the transitional PCI device. > > > > What does "MMR" mean? > > > memory mapped registers. > Explained below in the design section and also in relevant patches 6 to 11. > > > > It has its own small Device ID range. It does not have I/O > > > region BAR; instead it exposes legacy configuration and device > > > specific registers at an offset in the memory region BAR. > > > > > > Such transitional MMR devices will be used at the scale of > > > thousands of devices using PCI SR-IOV and/or future scalable > > > virtualization technology to provide backward > > > compatibility (for legacy devices) and also future > > > compatibility with new features. > > > > > > Usecase: > > > -------- > > > 1. A hypervisor/system needs to provide transitional > > > virtio devices to the guest VM at scale of thousands, > > > typically, one to eight devices per VM. > > > > > > 2. A hypervisor/system needs to provide such devices using a > > > vendor agnostic driver in the hypervisor system. > > > > Is the idea that the hypervisor configures the new Transitional MMR > > devices and makes them appear like virtio-pci Transitional devices? > > > Yes, but hypervisor is not involved in any configuration parsing or anything > of that nature. > It is only a passthrough fowarder from emulated IOBAR to memory mapped > legacy registers. > In other words, hypervisor do not care for the registers content at all. This part I do not see as important. legacy is frozen in time. Implement it once and you are done. Datapath differences are more important. > > In other words, the guest doesn't know about Transitional MMR and does > > not need any code changes. > > > > > 3. A hypervisor system prefers to have single stack regardless of > > > virtio device type (net/blk) and be future compatible with a > > > single vfio stack using SR-IOV or other scalable device > > > virtualization technology to map PCI devices to the guest VM. > > > (as transitional or otherwise) > > > > What does this paragraph mean? > > > It means regardless of a VF being transitional MMR VF or 1.x VF without any > MMR extensions, there is single vfio virtio driver handling both type of > devices to map to the guest VM. I don't think this can be vfio. You need a host layer translating things such as device ID etc. > > > > Modern devices were added to Linux in 2014 and support SR-IOV. > > > Why is it > > important to support Transitional (which really means Legacy devices, > > otherwise Modern devices would be sufficient)? > > > To support guest VMs which only understand legacy devices and unfortunately > they are still in much wider use by the users. OK but supporting them with a passthrough driver such as vfio does not seem that important. -- MST
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]