From 0fb65d2afadad1f092788f5a4f251b09851b3ae7 Mon Sep 17 00:00:00 2001 From: Christian Trautman Date: Fri, 22 Jul 2016 15:54:18 -0400 Subject: Vanilla_Multi_Queue: Add vanilla ovs multi-queue functionality Adds multi-queue for vanilla OVS using virtio-net. TunTap ports will use multi_queue parameter when ports are created/deleted if guest nic queues are enabled and vswitch is ovs vanilla. Virtio net will now add guest nic queues to qemu command line if appropriate. Reworked multi-queue documentation to reflect these changes. Adds vhost net thread affinitization which is recommended when performing vanilla ovs multi-queue. Guests will require ethtool if using l2fwd or linux bridge as the loopback application when vanilla ovs multi-queue is enabled. Modified dpdk setting in vswitch conf to be better worded for separation from vanilla ovs multi-queue. Updated release and installation doc for new vloop image that includes required ethtool utility. JIRA: VSPERF-373 Change-Id: Idb550515190b1a93390308c11f54da368f962512 Signed-off-by: Christian Trautman --- conf/02_vswitch.conf | 10 +++++----- conf/04_vnf.conf | 11 ++++++++++- 2 files changed, 15 insertions(+), 6 deletions(-) (limited to 'conf') diff --git a/conf/02_vswitch.conf b/conf/02_vswitch.conf index 228ff057..cd2b8d26 100644 --- a/conf/02_vswitch.conf +++ b/conf/02_vswitch.conf @@ -88,12 +88,12 @@ VSWITCHD_DPDK_CONFIG = { # Note: VSPERF will automatically detect, which type of DPDK configuration should # be used. -# To enable multi queue modify the below param to the number of queues. -# 0 = disabled -VSWITCH_MULTI_QUEUES = 0 +# To enable multi queue with dpdk modify the below param to the number of +# queues for dpdk. 0 = disabled +VSWITCH_DPDK_MULTI_QUEUES = 0 -# Use old style OVS Multi-queue startup. If testing versions of OVS 2.5.0 or -# before, enable this setting to allow multi-queue to enable correctly. +# Use old style OVS DPDK Multi-queue startup. If testing versions of OVS 2.5.0 +# or before, enable this setting to allow DPDK Multi-queue to enable correctly. OVS_OLD_STYLE_MQ = False # parameters passed to ovs-vswitchd in case that OvsVanilla is selected diff --git a/conf/04_vnf.conf b/conf/04_vnf.conf index 8069ef0d..05893fb8 100644 --- a/conf/04_vnf.conf +++ b/conf/04_vnf.conf @@ -119,9 +119,18 @@ GUEST_SMP = ['2', '2', '2', '2', '2', '2'] GUEST_CORE_BINDING = [(6, 7), (9, 10), (11, 12), (13, 14), (15, 16), (17, 18)] # Queues per NIC inside guest for multi-queue configuration, requires switch -# multi-queue to be enabled. Set to 0 for disabled. +# multi-queue to be enabled for dpdk. Set to 0 for disabled. Can be enabled if +# using Vanilla OVS without enabling switch multi-queue. GUEST_NIC_QUEUES = 0 +# Virtio-Net vhost thread CPU mapping. If using vanilla OVS with virtio-net, +# you can affinitize the vhost-net threads by enabling the below setting. There +# is one vhost-net thread per port per queue so one guest with 2 queues will +# have 4 vhost-net threads. If more threads are present than CPUs given, the +# affinitize will overlap CPUs. +VSWITCH_VHOST_NET_AFFINITIZATION = False +VSWITCH_VHOST_CPU_MAP = [4,5,8,11] + GUEST_START_TIMEOUT = 120 GUEST_OVS_DPDK_DIR = '/root/ovs_dpdk' OVS_DPDK_SHARE = '/mnt/ovs_dpdk_share' -- cgit 1.2.3-korg