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] RE: [PATCH v2 0/2] transport-pci: Introduce legacy registers access using AQ



å 2023/5/11 22:31, Parav Pandit åé:
From: Jason Wang <jasowang@redhat.com>
Sent: Thursday, May 11, 2023 3:17 AM
a configq/cmdq discussion is for new features for PF, VF, and SF/SIOV
devices to work in _non_ backward compatible way, because for new
features there is no such thing as backward compatibility between
guest driver and the device.
Ok, so what command did configq/cmdq have?
I thought it was similar to transport virtqueue, but it looks more like a control virtqueue here.
Yes, it is more like a cvq to do device attributes discovery and configuration.
Just that its generic enough.
For example
creating VQ that spans multiple physical addresses.
Discovery and enabling new device attributes which are rarely accessed or accessed during device init/cleanup time.

The fundamental difference between cfgvq to tvq is:
Cfgvq is between the member virtio device and its driver.
Tvq=aq is on group owner of the virtio device.

Compatibility is coming at a cost which is not scaling.
If you attempt to scale, it breaks the future path forward to go without
mediation.
So eve growing these fields and optionally placement on configq
doesn't really help and device builder to build it efficiently
(without much predictability).
Config queue is not the only choice, we have a lot of other
choices (for example PASID may help to reduce the on-chip resources).

PASID is for process isolation security construct, it is not for transportation.
I meant with PASID you don't even need a BAR.

Not sure I fully understand, but my guess is, this is coming from
mediation thought process.
Not actually. I meant, for example without PASID, for modern devices, the
common cfg structure must be placed on a BAR through MMIO.

But with the help of PASID, it could stay in the memory and the device can fetch
it via DMA. The help to reduce the resources for registers.

Yes, it can stay in memory and device can fetch via DMA using a VQ using its own q from guest driver.
Why does it need PASID?


Let me clarify my understanding.

If we want a per VF virtqueue that is used by the hypervisor. We need PASID. Otherwise not.

Thanks



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