[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [virtio-comment] VirtIO spec issue - Available Buffer Notification Suppression
On Thu, Jan 31, 2019 at 01:16:29PM +0000, Savir, Gil wrote: > Hi, > > > > If VIRTIO_F_EVENT_IDX feature bit is negotiated, then Available Buffer > Notification Suppression mechanism used is avail event (not flags). > > The spec (both v1.0 / v1.1-draft) states that the device MAY use this mechanism > (Paragraph 2.4.9.2 / 2.6.10.2 respectively). > > This statement implies that the device may choose not to use this suppression > mechanism (even if VIRTIO_F_EVENT_IDX was negotiated). > > > > However â thereâs no way for the device to inform the driver that he is not > using avail_event. > > As consequence, since there will be a default value in avail_event (probably > 0x0), then the driver will always assume that it has to send notify âonce-per > ringâ. No I think this part is wrong, pls see below. > This will render performance futile, or force the device to actively update > avail_event. > > > > Is there a way for the device to inform the driver that he is not using > avail_event (and I missed it)? > > > > If yes, than my apologies for wasting your time. > > If no, then I suggest one of the following: > > Â Either, to change the âMAYâ (referred above) to âMUSTâ, > Thanks for the feedback! So we are talking about split queues. If avail_event is never set and remains 0, driver will send notifications every time index wraps around to 0, which would be every 2^16. This is I think expected since the spec says: The device MUST handle spurious notifications from the driver. 2^16 does not seem excessive so I don't think it will render performance futile. > Â Or, to add way for the device to inform the driver that he is not > using avail_event (flag /certain reserved value in avail_event /other > mechanism). > > > > Thanks, > > Gil Savir > > Intel Corporation It might be a good addition to spec, probably along the lines of an option to send notifications on even suppression changes (which was proposed in the past, but was not included due to lack of time). -- MST
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]