• Rusty Russell's avatar
    virtio-blk: base queue-depth on virtqueue ringsize or module param · fc4324b4
    Rusty Russell authored
    Venkatash spake thus:
    
      virtio-blk set the default queue depth to 64 requests, which was
      insufficient for high-IOPS devices. Instead set the blk-queue depth to
      the device's virtqueue depth divided by two (each I/O requires at least
      two VQ entries).
    
    But behold, Ted added a module parameter:
    
      Also allow the queue depth to be something which can be set at module
      load time or via a kernel boot-time parameter, for
      testing/benchmarking purposes.
    
    And I rewrote it substantially, mainly to take
    VIRTIO_RING_F_INDIRECT_DESC into account.
    
    As QEMU sets the vq size for PCI to 128, Venkatash's patch wouldn't
    have made a change.  This version does (since QEMU also offers
    VIRTIO_RING_F_INDIRECT_DESC.
    Inspired-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
    Based-on-the-true-story-of: Venkatesh Srinivas <venkateshs@google.com>
    Cc: "Michael S. Tsirkin" <mst@redhat.com>
    Cc: virtio-dev@lists.oasis-open.org
    Cc: virtualization@lists.linux-foundation.org
    Cc: Frank Swiderski <fes@google.com>
    Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
    fc4324b4
virtio_blk.c 20.7 KB