[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Clarification of VIRTIO_F_EVENT_IDX driver conditions.
We ran into an edge case in the VIRTIO_F_EVENT_IDX feature where a notification could be missed if there is a "streak" in skipped notifications. If the difference between the event index and available index wraps before a notification is needed, there exists a case where a notification must be sent but is not sent. Signed-off-by: Patrick Mosca <pmosca@apple.com> Signed-off-by: Cameron Esfahani <dirty@apple.com> --- split-ring.tex | 3 +++ 1 file changed, 3 insertions(+) diff --git a/split-ring.tex b/split-ring.tex index bfef62d..9650e5e 100644 --- a/split-ring.tex +++ b/split-ring.tex @@ -530,6 +530,9 @@ \subsection{Available Buffer Notification Suppression}\label{sec:Basic Facilitie \item If the \field{idx} field in the available ring (which determined where that descriptor index was placed) was equal to \field{avail_event}, the driver MUST send a notification. + \item If the number of descriptors added to the queue since + the last notification is greater than 65535, the driver MUST + send a notification. \item Otherwise the driver SHOULD NOT send a notification. \end{itemize} \end{itemize} -- 2.32.0 (Apple Git-131) -Patrick Mosca
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]