OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

virtio-comment message

[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 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.

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.


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.



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]