[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 thenotifications 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]