virtio — archive
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
— [Date Index]
| [Thread Index]
| [Month Index]
| [List Home]
[PATCH requirements v5 0/7] virtio net requirements for 1.4
>
From: Stefan Hajnoczi <[email protected]>
> Sent: Monday, September 11, 2023 7:17 PM >
> If I understand correctly there is no longer a 1:1 correspondence between
> driver-supplied rx pages (available buffers) and received packets (used buffers).
> Instead, the device consumes portions of driver-supplied rx pages as needed
> and notifies the driver, and the entire rx page is marked used later when it has
> been fully consumed. >
> The virtqueue model is based on submitting available buffers and completing
> used buffers, not individual DMA transfers. It's not possible to do DMA
> piecewise in this model. If you think about a VIRTIO over TCP transport that
> uses message-passing for available and used buffers, then it's clear the rx page
> approach breaks the model because only entire virtqueues buffers can be
> marked used (there is a 1:1 correspondence between available buffers and used
> buffers). >
> Two options:
> 1. Extend the virtqueue model to support this.
> 2. Document this violation of the virtqueue model clearly but treat it
>
as an exception that may lead to complications in the future (e.g.
>
incompatibility with VIRTIO over TCP).
> I don't think it a violation. It is an extension of a new model. PCI and MMIO will support it. TCP transport may not be able support everything that exists today in PCI. But I am not fully sure at present this as limitation. I will consider #1 later in this month further. This week occupied with the LM and flow filters that we want to review on Wed meet.
> I think it's worth investigating #1 to see whether the virtqueue model can be
> extended cleanly.
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
— [Date Index]
| [Thread Index]
| [Month Index]
| [List Home]