[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: RE: [virtio] [PATCH requirements v5 3/7] net-features: Add low latency receive queue requirements
> From: Stefan Hajnoczi <stefanha@redhat.com> > 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] | [List Home]