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 v3] virtio-net: support the virtqueue coalescing moderation



å 2023/2/17 äå9:50, Parav Pandit åé:

From: Heng Qi <hengqi@linux.alibaba.com>
Sent: Friday, February 17, 2023 12:24 AM
I think there are two kinds of sequences:
#Seq1:
1. vq is disabled (vq params are reset to max_packets = 0, max_usecs = 0) 2.
VQ_SET command arrives with max_packets=10, max_usecs = 8 3. vq is enabled
(vq params are max_packets = 0, max_usecs = 0) After #3 is done, vq params
should be max_packets = 0, max_usecs = 0, because the device cannot apply
parameters when vq is disabled.
Other reason is that parameters determined based on the previous traffic
information before vq is re-enabled, and it is not applicable now.
 From dev point of view, above is not a valid sequence.
VQ is the object whose lifecycle (create/delete/query/modify) is triggered by the driver.
So step 2 cannot happen before step 3.
If driver does that, driver should get error code INVALID_VQ on step 2.


Yes, This example is not appropriate. The driver must not make any requests on vq while it is being reset,

unless the reset of vq has been completed.


#Seq1:
1. vq is disabled (vq params are reset to max_packets = 0, max_usecs = 0) 2. vq
is enabled (vq params are max_packets = 0, max_usecs = 0) 3. VQ_SET
command arrives with max_packets=10, max_usecs = 8 After 3 is done, vq
params should be max_packets = 10, max_usecs = 8

Thanks.

+
+A device MAY NOT set the coalescing parameter to the exact same
+value as the one passed in by a driver. For example, the value of
\field{max_packets} set by the driver is 15, but the device MAY store a value
that is a power of 2, that is, 16.
+
  A device SHOULD NOT send used buffer notifications to the driver, if the
notifications are suppressed as explained in \ref{sec:Basic Facilities of a Virtio
Device / Virtqueues / Used Buffer Notification Suppression}, even if the
coalescing counters expired.
  Upon reset, a device MUST initialize all coalescing parameters to 0.
--
2.19.1.6.gb485710b


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