From 9c262548576dbcb60321c1b2b72c0799699c3959 Mon Sep 17 00:00:00 2001 From: Jaroslaw Chachulski Date: Wed, 11 May 2022 09:05:46 -0400 Subject: [PATCH] scripts/nvmf_perf: add core_limit option to framework_set_scheduler. This is to add core_limit parameter to scheduler by RPC. Signed-off-by: Jaroslaw Chachulski Change-Id: I0570d24e9ae67ccde64e5f996706fefd2e403086 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12623 Tested-by: SPDK CI Jenkins Reviewed-by: Karol Latecki Reviewed-by: Tomasz Zawadzki Reviewed-by: Konrad Sztyber Community-CI: Broadcom CI --- scripts/perf/nvmf/README.md | 2 ++ scripts/perf/nvmf/run_nvmf.py | 5 ++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/scripts/perf/nvmf/README.md b/scripts/perf/nvmf/README.md index 913804ff9..707ba81a1 100644 --- a/scripts/perf/nvmf/README.md +++ b/scripts/perf/nvmf/README.md @@ -156,6 +156,8 @@ Optional, SPDK Target only: - dsa_settings - bool. Only for TCP transport. Enable offloading CRC32C calculation to DSA. You need a CPU with the Intel(R) Data Streaming Accelerator (DSA) engine. +- scheduler_core_limit - int, 0-100. Dynamic scheduler option to load limit on + the core to be considered full. ### Initiator system settings section diff --git a/scripts/perf/nvmf/run_nvmf.py b/scripts/perf/nvmf/run_nvmf.py index 2b75669fe..064513357 100755 --- a/scripts/perf/nvmf/run_nvmf.py +++ b/scripts/perf/nvmf/run_nvmf.py @@ -1087,6 +1087,7 @@ class SPDKTarget(Target): self.bpf_proc = None self.bpf_scripts = [] self.enable_dsa = False + self.scheduler_core_limit = None if "num_shared_buffers" in target_config: self.num_shared_buffers = target_config["num_shared_buffers"] @@ -1100,6 +1101,8 @@ class SPDKTarget(Target): self.bpf_scripts = target_config["bpf_scripts"] if "dsa_settings" in target_config: self.enable_dsa = target_config["dsa_settings"] + if "scheduler_core_limit" in target_config: + self.scheduler_core_limit = target_config["scheduler_core_limit"] self.log_print("====DSA settings:====") self.log_print("DSA enabled: %s" % (self.enable_dsa)) @@ -1253,7 +1256,7 @@ class SPDKTarget(Target): rpc.dsa.dsa_scan_accel_engine(self.client, config_kernel_mode=None) self.log_print("Target DSA accel engine enabled") - rpc.app.framework_set_scheduler(self.client, name=self.scheduler_name) + rpc.app.framework_set_scheduler(self.client, name=self.scheduler_name, core_limit=self.scheduler_core_limit) rpc.framework_start_init(self.client) if self.bpf_scripts: