adding {tx|rx}_queue_size option

Bug #1804170 reported by Sahid Orentino
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Nova Compute Charm
Fix Released
Wishlist
Sahid Orentino

Bug Description

In some workloads where network performance is a key point (NFV), configuring larger queues sizes for virtio-net devices can dramatically increase performance by amortizing vCPUs preemption and avoiding packets drop [0].

By default virtio-net devices are using 256 descriptors per virtqueue. It has been implemented in Linux kernel and then exposed to QEMU ability to increase that value to 1024.

Nova is exposing the option via libvirt/tx_queue_size and libvirt/rx_queue_size, authorized values are [256, 512, 1024].

  libvirt/rx_queue_size=1024
  libvirt/tx_queue_size=1024

This is only available start to Rocky, In QEMU 2.7.0 and libvirt 2.3.0 a tunable has been introduced to configure RX queue size. In QEMU 2.10.0 and libvirt 3.7.0 a tunable has been introduced to update TX queue size of virtio NICs.

This option should be considered with virtio-net multiqueue support implemented in Nova for Liberty [1].

[0] https://specs.openstack.org/openstack/nova-specs/specs/rocky/implemented/libvirt-virtio-set-queue-sizes.html
[1] https://specs.openstack.org/openstack/nova-specs/specs/liberty/implemented/libvirt-virtiomq.html

Tags: nfv
Changed in charm-nova-compute:
assignee: nobody → sahid (sahid-ferdjaoui)
Changed in charm-nova-compute:
status: New → In Progress
tags: added: nfv
Frode Nordahl (fnordahl)
Changed in charm-nova-compute:
milestone: none → 19.04
importance: Undecided → Wishlist
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to charm-nova-compute (master)

Reviewed: https://review.openstack.org/618769
Committed: https://git.openstack.org/cgit/openstack/charm-nova-compute/commit/?id=27e71b5e41da0421506b78d574efc76e66ba898b
Submitter: Zuul
Branch: master

commit 27e71b5e41da0421506b78d574efc76e66ba898b
Author: Sahid Orentino Ferdjaoui <email address hidden>
Date: Mon Nov 19 16:22:54 2018 +0100

    introduce "{tx|rx}_queue_size" options

    The libvirt/{tx|rx}_queue_size options will be required by NFV
    deploymens in order to increase network performances per vCPUs and
    avoiding packet drops.

    Note that the options are available start to Rocky. Since QEMU 2.7.0
    and libvirt 2.3.0 to configure RX queue size. Since QEMU 2.10.0 and
    libvirt 3.7.0 to configure TX queue size.

    Closes-Bug: 1804170
    Change-Id: Iceacb42aae248fb36e9eecdc992c4a982f4e32b4
    Signed-off-by: Sahid Orentino Ferdjaoui <email address hidden>

Changed in charm-nova-compute:
status: In Progress → Fix Committed
David Ames (thedac)
Changed in charm-nova-compute:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.