Re: [PATCH 0/6] vDPA driver for legacy virtio-pci device
From: Jason Wang <hidden>
Date: 2021-09-09 09:31:40
Also in:
lkml
On Thu, Sep 9, 2021 at 5:21 PM Michael S. Tsirkin [off-list ref] wrote:
On Thu, Sep 09, 2021 at 11:05:06AM +0800, Jason Wang wrote:quoted
On Wed, Sep 8, 2021 at 8:22 PM Wu Zongyong [off-list ref] wrote:quoted
This series implements the vDPA driver for legacy virtio-pci device. Currently we already have the vDPA driver for modern virtio-pci device only, but there are some legacy virtio-pci devices conforming to the virtio-pci specifications of 0.9.x or older versions. For example, ENI(Elastic Network Interface) of Alibaba ECS baremetal instance is a hardware virtio network device which follows the Virtio PCI Card 0.9.5 Draft specification. Such legacy virtio-pci devices have some inconsistent behaviour with modern virtio-pci devices, so some common codes are split out and modern device specific codes are moved to a separated file.What worries me a little bit are: 1) vDPA requires IOMMU_PLATFORM to be supported by the device to work, if I understand ENI correctly, it's a legacy device so it can't support ACCESS_PLATFORM. Or is it a legacy device that supports ACCESS_PLATFORM implicitly. 2) vDPA tries to present a 1.0 device, in this case the behavior could be ruled by the spec. If we tries to present an 1.0 device on top of legacy device we may suffer a lot of issues: - endian issue: 1.0 use le but legacy may use native endian - queue_enable semantic which is missed in the legacy - virtqueue size, as you mentioned belowSo this all kind of works when guest and host are strongly ordered and LE. Case in point x86. Question is how do we limit this to an x86 guest? Add a new ioctl declaring that this is the case?
I think the most simple way is to disable the driver on non LE host (assuming it tries to use native endian which is kind of impossible). Thanks
-- MST
_______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization