virtio — archive
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
— [Date Index]
| [Thread Index]
| [Month Index]
| [List Home]
[OASIS Issue Tracker] Created: (VIRTIO-13) Remove VIRTIO_F_NOTIFY_ON_EMPTY?
OASIS Issues Tracker <[email protected]> writes:
> Remove VIRTIO_F_NOTIFY_ON_EMPTY?
>
---------------------------------
>
>
Key: VIRTIO-13
>
URL: http://tools.oasis-open.org/issues/browse/VIRTIO-13
>
Project: OASIS Virtual I/O Device (VIRTIO)
TC
>
Issue Type: Improvement
>
Reporter: Rusty Russell
>
>
> Notify on empty means that the device interrupts even if it wouldn't normally, in the case where a normally-full virtqueue is empty.
>
> ISTR this was a performance hack; it's no longer used in Linux anyway, and performance issues may have been due to a race which sometimes lost interrupts :)
Which would look something like this:
commit 3a4ec12fdf041e2d55c24d4aacfbba829bc228f8
Author: Rusty Russell <[email protected]>
Date:
Mon Aug 19 18:00:35 2013 +0930
Remove VIRTIO_F_NOTIFY_ON_EMPTY
As per http://tools.oasis-open.org/issues/browse/VIRTIO-13
Signed-off-by: Rusty Russell <[email protected]>
diff --git a/virtio-v1.0-wd01-part1-specification.txt b/virtio-v1.0-wd01-part1-specification.txt
index 3e311ec..353ef44 100644
--- a/virtio-v1.0-wd01-part1-specification.txt
+++ b/virtio-v1.0-wd01-part1-specification.txt
@@ -1302,9 +1302,7 @@ the different features the driver negotiated.
Often a driver will suppress transmission interrupts using the
VRING_AVAIL_F_NO_INTERRUPT flag (see 2.4.2 Receiving Used Buffers From
The Device) and check for used packets in the transmit path of following
-packets. However, it will still receive interrupts if the
-VIRTIO_F_NOTIFY_ON_EMPTY feature is negotiated, indicating that
-the transmission queue is completely emptied.
+packets.
The normal behavior in this interrupt handler is to retrieve and
new descriptors from the used ring and free the corresponding
@@ -2498,18 +2496,7 @@ contents of the event field. The following events are defined:
2.6 Reserved Feature Bits
=========================
-Currently there are four device-independent feature bits defined:
-
- VIRTIO_F_NOTIFY_ON_EMPTY (24) Negotiating this feature
- indicates that the driver wants an interrupt if the device runs
- out of available descriptors on a virtqueue, even though
- interrupts are suppressed using the VRING_AVAIL_F_NO_INTERRUPT
- flag or the used_event field. An example of this is the
- networking driver: it doesn't need to know every time a packet
- is transmitted, but it does need to free the transmitted
- packets a finite time after they are transmitted. It can avoid
- using a timer if the device interrupts it when all the packets
- are transmitted.
+Currently there are three device-independent feature bits defined:
VIRTIO_F_ANY_LAYOUT (27) This feature indicates that the device accepts arbitrary
descriptor layouts, as described in Section FIXME.
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
— [Date Index]
| [Thread Index]
| [Month Index]
| [List Home]