[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 AMa 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 withoutmediation.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]