← Prev in month
← Prev in thread
Next in thread →
Next in month →
[PATCH requirements v5 0/7] virtio net requirements for 1.4
> From: Stefan Hajnoczi <> > 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.
← Prev in month
← Prev in thread
Next in thread →
Next in month →