From 02cb1fe86a74a31a6124e6697590726ea4990a69 Mon Sep 17 00:00:00 2001 From: Karol Latecki Date: Thu, 25 Feb 2021 14:58:23 +0100 Subject: [PATCH] scripts/nvmf_perf: allow ADQ for SPDK mode only Need more investigating how to properly enable ADQ for Kernel mode. Do not run Kernel + ADQ configuration for now. Signed-off-by: Karol Latecki Change-Id: I700ef417b9b398c067a586a1a5ad9947a92057ad Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6566 Tested-by: SPDK CI Jenkins Reviewed-by: Tomasz Zawadzki Reviewed-by: Jim Harris --- scripts/perf/nvmf/README.md | 15 +++++++++------ scripts/perf/nvmf/run_nvmf.py | 8 ++++++++ 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/scripts/perf/nvmf/README.md b/scripts/perf/nvmf/README.md index 70f12ad4d..dec0d5c75 100644 --- a/scripts/perf/nvmf/README.md +++ b/scripts/perf/nvmf/README.md @@ -123,9 +123,6 @@ Optional, common: interfaces. Default: disabled. - tuned_profile - tunedadm profile to apply on the system before starting the test. -- adq_enable - bool; only for TCP transport. - Configure system modules, NIC settings and create priority traffic classes - for ADQ testing. You need and ADQ-capable NIC like the Intel E810. - irq_scripts_dir - path to scripts directory of Mellanox mlnx-tools package; Used to run set_irq_affinity.sh script. Default: /usr/src/local/mlnx-tools/ofed_scripts @@ -150,6 +147,9 @@ Optional, SPDK Target only: - enable_dpdk_memory - [bool, int]. Wait for a given number of seconds and call env_dpdk_get_mem_stats RPC call to dump DPDK memory stats. Typically wait time should be at least ramp_time of fio described in another section. +- adq_enable - bool; only for TCP transport. + Configure system modules, NIC settings and create priority traffic classes + for ADQ testing. You need and ADQ-capable NIC like the Intel E810. ### Initiator system settings section @@ -209,13 +209,16 @@ Optional, common: cpupower governor be set to `userspace`. - tuned_profile - tunedadm profile to apply on the system before starting the test. -- adq_enable - bool; only for TCP transport. Configure system modules, NIC - settings and create priority traffic classes for ADQ testing. - You need an ADQ-capable NIC like Intel E810. - irq_scripts_dir - path to scripts directory of Mellanox mlnx-tools package; Used to run set_irq_affinity.sh script. Default: /usr/src/local/mlnx-tools/ofed_scripts +Optional, SPDK Initiator only: + +- adq_enable - bool; only for TCP transport. Configure system modules, NIC + settings and create priority traffic classes for ADQ testing. + You need an ADQ-capable NIC like Intel E810. + ### Fio settings section ``` ~sh diff --git a/scripts/perf/nvmf/run_nvmf.py b/scripts/perf/nvmf/run_nvmf.py index 24ba335d1..45d255cd1 100755 --- a/scripts/perf/nvmf/run_nvmf.py +++ b/scripts/perf/nvmf/run_nvmf.py @@ -99,6 +99,9 @@ class Server: self.configure_irq_affinity() def configure_adq(self): + if self.mode == "kernel": + self.log_print("WARNING: ADQ setup not yet supported for Kernel mode. Skipping configuration.") + return self.adq_load_modules() self.adq_configure_nic() @@ -115,6 +118,11 @@ class Server: def adq_configure_tc(self): self.log_print("Configuring ADQ Traffic classess and filters...") + + if self.mode == "kernel": + self.log_print("WARNING: ADQ setup not yet supported for Kernel mode. Skipping configuration.") + return + num_queues_tc0 = 2 # 2 is minimum number of queues for TC0 num_queues_tc1 = self.num_cores port_param = "dst_port" if isinstance(self, Target) else "src_port"