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 <jaroslawx.chachulski@intel.com>
Change-Id: I0570d24e9ae67ccde64e5f996706fefd2e403086
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12623
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Karol Latecki <karol.latecki@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
This commit is contained in:
Jaroslaw Chachulski 2022-05-11 09:05:46 -04:00 committed by Tomasz Zawadzki
parent c930efda28
commit 9c26254857
2 changed files with 6 additions and 1 deletions

View File

@ -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

View File

@ -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: