OASIS Open Mailing List Archives  ·  All Lists  ·  virtio  ·  2014-02

virtio — archive

[Date Prev]  |  [Thread Prev]  |  [Thread Next]  |  [Date Next]   —  [Date Index]  |  [Thread Index]  |  [Month Index]  |  [List Home]

[PATCH 00/10] for review Feb 11 patches on top of virtio@224


Correct new language to explicitly use MAY/SHOULD/MUST or simply drop the somewhat vague "can" where we are describing the only way to operate the device. Signed-off-by: Michael S. Tsirkin <[email protected]> --- content.tex 16 ++++++++ -------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/content.tex b/content.tex index acc49c8..e1db9f4 100644 --- a/content.tex +++ b/content.tex @@ -654,14 +654,14 @@ free descriptors before beginning the mappings. The descriptor chain head is the first d in the algorithm above, ie. the index of the descriptor table entry referring to the first -part of the buffer. A naive implementation would do the following (with the +part of the buffer. A naive driver implementation MAY do the following (with the appropriate conversion to-and-from little-endian assumed): egin{lstlisting} avail->ring[avail->idx % qsz] = head; end{lstlisting} -However, in general the driver can add many descriptor chains before it updates +However, in general the driver MAY add many descriptor chains before it updates field{idx} (at which point they become visible to the device), so it is common to keep a counter of how many the driver has added: @@ -671,13 +671,13 @@ avail->ring[(avail->idx + added++) % qsz] = head; subsubsection{Updating field{idx}}label{sec:General Initialization And Device Operation / Device Operation / Supplying Buffers to The Device / Updating idx} -Once field{idx} is updated, the device will -be able to access the descriptor chains the driver created and the -memory they refer to. This is why a memory barrier is generally -used before the field{idx} update, to ensure it sees the most up-to-date -copy. +Once available field{idx} is updated by driver, the device MAY +access the descriptor chains the driver created and the +memory they refer to. This is why the driver SHOULD generally +use a memory barrier before the field{idx} update, to ensure the +device sees the most up-to-date copy. -field{idx} always increments, and the driver can let it wrap naturally at +field{idx} always increments, and wraps naturally at 65536: egin{lstlisting} -- MST

[Date Prev]  |  [Thread Prev]  |  [Thread Next]  |  [Date Next]   —  [Date Index]  |  [Thread Index]  |  [Month Index]  |  [List Home]