virtio_ring: Make interrupt suppression spec compliant
authorLadi Prosek <lprosek@redhat.com>
Wed, 31 Aug 2016 12:00:04 +0000 (14:00 +0200)
committerMichael S. Tsirkin <mst@redhat.com>
Sun, 30 Oct 2016 22:21:40 +0000 (00:21 +0200)
commit0ea1e4a6d9b62cf29e210d2b4ba9fd43917522e3
tree7f5b50b9c99b4b2a3278951f69b1222a8e4b2d85
parenta0be1db4304f51c99af6b6e515549794182a94df
virtio_ring: Make interrupt suppression spec compliant

According to the spec, if the VIRTIO_RING_F_EVENT_IDX feature bit is
negotiated the driver MUST set flags to 0. Not dirtying the available
ring in virtqueue_disable_cb also has a minor positive performance
impact, improving L1 dcache load missed by ~0.5% in vring_bench.

Writes to the used event field (vring_used_event) are still unconditional.

Cc: Michael S. Tsirkin <mst@redhat.com>
Cc: <stable@vger.kernel.org> # f277ec4 virtio_ring: shadow available
Cc: <stable@vger.kernel.org>
Signed-off-by: Ladi Prosek <lprosek@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
drivers/virtio/virtio_ring.c