OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

virtio-comment message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: RE: [EXT] Re: [PATCH] virtio-net: fix Driver Notification description related to VIRTIO_F_NOTIF_CONFIG_DATA


>-----Original Message-----
>From: Michael S. Tsirkin <mst@redhat.com>
>Sent: Wednesday, 9 December, 2020 15:17
>To: Vitaly Mireyno <vmireyno@marvell.com>
>Cc: virtio-comment@lists.oasis-open.org; Ariel Elior <aelior@marvell.com>; Halil Pasic
><pasic@linux.ibm.com>; Cornelia Huck <cohuck@redhat.com>
>Subject: [EXT] Re: [PATCH] virtio-net: fix Driver Notification description related to
>VIRTIO_F_NOTIF_CONFIG_DATA
>
>External Email
>
>----------------------------------------------------------------------
>On Wed, Dec 09, 2020 at 12:57:08PM +0000, Vitaly Mireyno wrote:
>> Incorporated comments for the "[PATCH v9] virtio-net: Add support for the flexible driver notification
>structure".
>> Made Driver Notifications description more consistent throughout the document wrt
>VIRTIO_F_NOTIF_CONFIG_DATA.
>>
>> Signed-off-by: Vitaly Mireyno <vmireyno@marvell.com>
>
>
>This is a bit repetitive.
>
>How about we replace "vqn" with "vqid", call it "virt queue identifier"
>and explain that it is either hardcoded to the virt queue index or read from config space.
>
>In config space replace queue_notify_data with queue_identifier.
>
>And maybe VIRTIO_F_NOTIF_CONFIG_DATA -> VIRTIO_F_NOTIF_CONFIG_QUEUE_ID
>

I think such definition is a little more restrictive as it suggests that the notification data is necessarily queue identifier, whereas the current definition allows a broader interpretation.

How about rephrasing "Driver Notifications" and "Available Buffer Notifications" sections to avoid repetitions? Something like:

@@ -337,9 +337,12 @@ \section{Driver Notifications} \label{sec:Virtqueues / Driver notifications}
 notification to the device.
 
 When VIRTIO_F_NOTIFICATION_DATA has not been negotiated,
-this notification involves sending to the device either the virtqueue number
-or, if VIRTIO_F_NOTIF_CONFIG_DATA has been negotiated,
-the queue notification data (method depending on the transport).
+this notification involves sending to the device the vqn
+(method depending on the transport).
+\begin{description}
+\item [vqn] Either the virtqueue number to be notified or, if VIRTIO_F_NOTIF_CONFIG_DATA
+      has been negotiated, the queue notification data.
+\end{description}
 
 However, some devices benefit from the ability to find out the
 amount of available data in the queue without accessing the virtqueue in memory:
@@ -350,8 +353,7 @@ \section{Driver Notifications} \label{sec:Virtqueues / Driver notifications}
 the following information:
 
 \begin{description}
-\item [vqn] Either the virtqueue number to be notified or, if VIRTIO_F_NOTIF_CONFIG_DATA
-      has been negotiated, the queue notification data.
+\item [vqn]
 \item [next_off] Offset
       within the ring where the next available ring entry
       will be written.
@@ -1533,8 +1535,7 @@ \subsubsection{Available Buffer Notifications}\label{sec:Virtio Transport Option
 
 When VIRTIO_F_NOTIFICATION_DATA has not been negotiated,
 the driver sends an available buffer notification to the device by writing
-either the 16-bit virtqueue index of this virtqueue or, if VIRTIO_F_NOTIF_CONFIG_DATA
-has been negotiated, the 16-bit queue notification data to the Queue Notify address.
+the 16-bit vqn to the Queue Notify address.
 
 When VIRTIO_F_NOTIFICATION_DATA has been negotiated,
 the driver sends an available buffer notification to the device by writing


>> ---
>>  content.tex | 21 +++++++++------------
>>  1 file changed, 9 insertions(+), 12 deletions(-)
>>
>> diff --git a/content.tex b/content.tex index 00bc050..9514b2d 100644
>> --- a/content.tex
>> +++ b/content.tex
>> @@ -337,8 +337,9 @@ \section{Driver Notifications}
>> \label{sec:Virtqueues / Driver notifications}  notification to the device.
>>
>>  When VIRTIO_F_NOTIFICATION_DATA has not been negotiated, -this
>> notification involves sending the -virtqueue number to the device
>> (method depending on the transport).
>> +this notification involves sending to the device either the virtqueue
>> +number or, if VIRTIO_F_NOTIF_CONFIG_DATA has been negotiated, the
>> +queue notification data (method depending on the transport).
>>
>>  However, some devices benefit from the ability to find out the
>> amount of available data in the queue without accessing the virtqueue in memory:
>> @@ -349,7 +350,8 @@ \section{Driver Notifications}
>> \label{sec:Virtqueues / Driver notifications}  the following information:
>>
>>  \begin{description}
>> -\item [vqn] VQ number to be notified.
>> +\item [vqn] Either the virtqueue number to be notified or, if VIRTIO_F_NOTIF_CONFIG_DATA
>> +      has been negotiated, the queue notification data.
>>  \item [next_off] Offset
>>        within the ring where the next available ring entry
>>        will be written.
>> @@ -1531,8 +1533,8 @@ \subsubsection{Available Buffer
>> Notifications}\label{sec:Virtio Transport Option
>>
>>  When VIRTIO_F_NOTIFICATION_DATA has not been negotiated,  the driver
>> sends an available buffer notification to the device by writing -the
>> 16-bit virtqueue index -of this virtqueue to the Queue Notify address.
>> +either the 16-bit virtqueue index of this virtqueue or, if
>> +VIRTIO_F_NOTIF_CONFIG_DATA has been negotiated, the 16-bit queue notification data to the
>Queue Notify address.
>>
>>  When VIRTIO_F_NOTIFICATION_DATA has been negotiated,  the driver
>> sends an available buffer notification to the device by writing @@
>> -1546,13 +1548,8 @@ \subsubsection{Available Buffer
>> Notifications}\label{sec:Virtio Transport Option  for how to calculate the Queue Notify address.
>>
>>  \drivernormative{\paragraph}{Available Buffer Notifications}{Virtio
>> Transport Options / Virtio Over PCI Bus / PCI-specific Initialization And Device Operation / Available
>Buffer Notifications} -If VIRTIO_F_NOTIF_CONFIG_DATA has been negotiated:
>> -\begin{itemize}
>> -\item If VIRTIO_F_NOTIFICATION_DATA has not been negotiated, the
>> driver MUST use the -\field{queue_notify_data} value instead of the virtqueue index.
>> -\item If VIRTIO_F_NOTIFICATION_DATA has been negotiated, the driver
>> MUST set the -\field{vqn} field to the \field{queue_notify_data} value.
>> -\end{itemize}
>> +If VIRTIO_F_NOTIF_CONFIG_DATA has been negotiated, the driver MUST
>> +use the \field{queue_notify_data} value as a queue notification data.
>>
>>  \subsubsection{Used Buffer Notifications}\label{sec:Virtio Transport
>> Options / Virtio Over PCI Bus / PCI-specific Initialization And Device
>> Operation / Used Buffer Notifications}
>>
>> --



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]