← Prev in month
← Prev in thread
Next in thread →
Next in month →
[PATCH v7 09/11] content: in-order buffer use
Using descriptors in-order is sometimes benefitial. Add an option for
that - per-format detail allowing more optimizations will be added by
follow-up patches.
Signed-off-by: Michael S. Tsirkin <>
---
content.tex | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/content.tex b/content.tex
index 4d522cc..f3e5f9b 100644
--- a/content.tex
+++ b/content.tex
@@ -245,6 +245,15 @@ a device event - i.e. send an interrupt to the driver.
Device reports the number of bytes it has written to memory for
each buffer it uses. This is referred to as ``used length''.
+Device is not generally required to use buffers in
+the same order in which they have been made available
+by the driver.
+
+Some devices always use descriptors in the same order in which
+they have been made available. These devices can offer the
+VIRTIO_F_IN_ORDER feature. If negotiated, this knowledge
+might allow optimizations or simplify driver and/or device code.
+
Each virtqueue can consist of up to 3 parts:
\begin{itemize}
\item Descriptor Area - used for describing buffers
@@ -5245,6 +5254,9 @@ Descriptors} and \ref{sec:Packed Virtqueues / Indirect Flag: Scatter-Gather Supp
\item[VIRTIO_F_RING_PACKED(34)] This feature indicates
support for the packed virtqueue layout as described in
\ref{sec:Basic Facilities of a Virtio Device / Packed Virtqueues}~\nameref{sec:Basic Facilities of a Virtio Device / Packed Virtqueues}.
+ \item[VIRTIO_F_IN_ORDER(35)] This feature indicates
+ that all buffers are used by the device in the same
+ order in which they have been made available.
\end{description}
\drivernormative{\section}{Reserved Feature Bits}{Reserved Feature Bits}
@@ -5270,6 +5282,9 @@ translates bus addresses from the device into physical addresses in memory.
A device MAY fail to operate further if VIRTIO_F_IOMMU_PLATFORM is not
accepted.
+If VIRTIO_F_IN_ORDER has been negotiated, a device MUST use
+buffers in the same order in which they have been available.
+
\section{Legacy Interface: Reserved Feature Bits}\label{sec:Reserved Feature Bits / Legacy Interface: Reserved Feature Bits}
Transitional devices MAY offer the following:
--
MST
← Prev in month
← Prev in thread
Next in thread →
Next in month →