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: [PATCH v7] virtio-net: Add support for the flexible driver notification structure.


I can suggest changing the feature definition such that the value, that the driver sets in the vqn field, will be per-virtqueue (instead of per-device).
The device can provide a per-virtqueue value to the driver in the PCI Common configuration structure (virtio_pci_common_cfg).
This will probably make the feature more generic. It will also simplify the feature, as it will not depend on notify_off_multiplier anymore.

Would it make more sense?


>-----Original Message-----
>From: Cornelia Huck <cohuck@redhat.com>
>Sent: Thursday, 26 March, 2020 13:53
>To: Michael S. Tsirkin <mst@redhat.com>
>Cc: Vitaly Mireyno <vmireyno@marvell.com>; virtio-comment@lists.oasis-open.org; Jason Wang
><jasowang@redhat.com>; Ariel Elior <aelior@marvell.com>
>Subject: [EXT] Re: [PATCH v7] virtio-net: Add support for the flexible driver notification structure.
>
>External Email
>
>----------------------------------------------------------------------
>On Thu, 26 Mar 2020 07:26:16 -0400
>"Michael S. Tsirkin" <mst@redhat.com> wrote:
>
>> On Thu, Mar 26, 2020 at 10:43:20AM +0100, Cornelia Huck wrote:
>> > On Wed, 18 Mar 2020 18:29:19 +0000
>> > Vitaly Mireyno <vmireyno@marvell.com> wrote:
>
>> > > +
>> > > +\begin{note}
>> > > +If \field{notify_off_multiplier} > 0, the virtqueue number can
>> > > +potentially be derived by the device from the Queue Notify
>> > > +address, so \field{vqn} may be redundant.
>>
>> I feel this is confusing the reader more than it explains.
>> the field is always there. It's either the virtqueue number or
>> whatever we get from the device.
>
>"the virtqueue number can potentially be derived by the device from the Queue Notify address, so
>obtaining the virtqueue number from \field{vqn} is not needed"
>
>?
>
>>
>> > > +\end{note}
>> > > +
>(...)
>> > > @@ -4180,6 +4205,33 @@ \subsubsection{Legacy Interface: Framing
>> > > Requirements}\label{sec:Device  See \ref{sec:Basic  Facilities of
>> > > a Virtio Device / Virtqueues / Message Framing}.
>> > >
>> > > +\subsubsection{Driver Notifications}\label{sec:Device Types /
>> > > +Network Device / Device Operation / Driver Notifications} As
>> > > +mentioned in section \ref{sec:Virtqueues / Driver notifications},
>> > > +when the driver is required to send an available buffer
>> > > +notification to the device, it always sends the virtqueue number
>> > > +to be notified. The method of delivering notifications is
>> > > +transport specific. With the PCI transport, the device can
>> > > +optionally provide a distinct per-virtqueue address for driver
>> > > +notifications (Queue Notify address). In this case, the virtqueue
>> > > +number can potentially be derived by the device from the Queue Notify address. For devices,
>that provide per-virtqueue Queue Notify addresses and are able to derive the virtqueue number from
>that address, the virtqueue number in the notification data is redundant.
>> >
>> > I would keep the remark that the queue number might be redundant
>> > with the PCI transport.
>>
>> I feel redundant is too strong a word. If anything sending data we
>> just read from device back to it is definitely redundant.
>> Spec says send it so we send it.
>> Maybe say it can be ignored by the device?
>
>Maybe "not needed"?
>
>(see above)
>
>>
>> > > +On the other hand, some devices can benefit from receiving
>> > > +additional data with driver notifications. An example could be a
>> > > +hardware device implementing multiple protocols (with virtio
>> > > +being one of them), so the extra notification data could serve as a notification type indication or
>a protocol indication.
>> >
>> > Hm... what about replacing the whole text above with
>> >
>> > "Driver notifications (\ref{sec:Virtqueues / Driver notifications})
>> > always contain at least the virtqueue number for which buffers are
>> > available. Some devices can benefit from receiving additional data
>> > with driver notifications. For example, a hardware device
>> > implementing multiple protocols (with virtio being one of them)
>> > could benefit from a notification type indication or a protocol indication."
>>
>>
>> My problem with both versions is that it talks about "additional
>> information" while in fact it's information that comes from the device
>> itself.
>
>"per-device information", maybe?



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