virtio: indirect ring entries (VIRTIO_RING_F_INDIRECT_DESC)
authorMark McLoughlin <markmc@redhat.com>
Mon, 11 May 2009 17:11:45 +0000 (18:11 +0100)
committerRusty Russell <rusty@rustcorp.com.au>
Fri, 12 Jun 2009 12:46:39 +0000 (21:46 +0930)
commit9fa29b9df32ba4db055f3977933cd0c1b8fe67cd
treec44177d2d352f74300fe9124decc6462c8804bbe
parentee006b353f1ca8c9a8470b72b462beb011d62e32
virtio: indirect ring entries (VIRTIO_RING_F_INDIRECT_DESC)

Add a new feature flag for indirect ring entries. These are ring
entries which point to a table of buffer descriptors.

The idea here is to increase the ring capacity by allowing a larger
effective ring size whereby the ring size dictates the number of
requests that may be outstanding, rather than the size of those
requests.

This should be most effective in the case of block I/O where we can
potentially benefit by concurrently dispatching a large number of
large requests. Even in the simple case of single segment block
requests, this results in a threefold increase in ring capacity.

Signed-off-by: Mark McLoughlin <markmc@redhat.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
drivers/virtio/virtio_ring.c
include/linux/virtio_ring.h