scripts/nvmf_perf: move get_nvme_devices to SPDK Target

These functions are used only by SPDKTarget class, so
move them out of common module.

Signed-off-by: Karol Latecki <karol.latecki@intel.com>
Change-Id: I489443f76fbdf4cb3def19a557f4a953a098bbce
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/14853
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Michal Berger <michal.berger@intel.com>
Reviewed-by: Krzysztof Karas <krzysztof.karas@intel.com>
This commit is contained in:
Karol Latecki 2022-10-04 13:54:27 +02:00 committed by Tomasz Zawadzki
parent 0b995d4aba
commit ede1049911
2 changed files with 11 additions and 19 deletions

View File

@ -7,22 +7,6 @@ from collections import OrderedDict
from json.decoder import JSONDecodeError from json.decoder import JSONDecodeError
def get_nvme_devices_count():
output = get_nvme_devices_bdf()
return len(output)
def get_nvme_devices_bdf():
print("Getting BDFs for NVMe section")
output = check_output("rootdir=$PWD; \
source test/common/autotest_common.sh; \
get_nvme_bdfs 01 08 02",
executable="/bin/bash", shell=True)
output = [str(x, encoding="utf-8") for x in output.split()]
print("Done getting BDFs")
return output
def read_json_stats(file): def read_json_stats(file):
with open(file, "r") as json_data: with open(file, "r") as json_data:
data = json.load(json_data) data = json.load(json_data)

View File

@ -980,6 +980,14 @@ class SPDKTarget(Target):
self.log.info("====DSA settings:====") self.log.info("====DSA settings:====")
self.log.info("DSA enabled: %s" % (self.enable_dsa)) self.log.info("DSA enabled: %s" % (self.enable_dsa))
def get_nvme_devices_count(self):
return len(self.get_nvme_devices())
def get_nvme_devices(self):
bdev_subsys_json_obj = json.loads(self.exec_cmd([os.path.join(self.spdk_dir, "scripts/gen_nvme.sh")]))
bdev_bdfs = [bdev["params"]["traddr"] for bdev in bdev_subsys_json_obj["config"]]
return bdev_bdfs
@staticmethod @staticmethod
def get_num_cores(core_mask): def get_num_cores(core_mask):
if "0x" in core_mask: if "0x" in core_mask:
@ -1037,7 +1045,7 @@ class SPDKTarget(Target):
def spdk_tgt_add_nvme_conf(self, req_num_disks=None): def spdk_tgt_add_nvme_conf(self, req_num_disks=None):
self.log.info("Adding NVMe bdevs to config via RPC") self.log.info("Adding NVMe bdevs to config via RPC")
bdfs = get_nvme_devices_bdf() bdfs = self.get_nvme_devices()
bdfs = [b.replace(":", ".") for b in bdfs] bdfs = [b.replace(":", ".") for b in bdfs]
if req_num_disks: if req_num_disks:
@ -1056,7 +1064,7 @@ class SPDKTarget(Target):
def spdk_tgt_add_subsystem_conf(self, ips=None, req_num_disks=None): def spdk_tgt_add_subsystem_conf(self, ips=None, req_num_disks=None):
self.log.info("Adding subsystems to config") self.log.info("Adding subsystems to config")
if not req_num_disks: if not req_num_disks:
req_num_disks = get_nvme_devices_count() req_num_disks = self.get_nvme_devices_count()
for ip, bdev_num in self.spread_bdevs(req_num_disks): for ip, bdev_num in self.spread_bdevs(req_num_disks):
port = str(4420 + bdev_num) port = str(4420 + bdev_num)
@ -1097,7 +1105,7 @@ class SPDKTarget(Target):
if self.null_block: if self.null_block:
self.subsys_no = 1 self.subsys_no = 1
else: else:
self.subsys_no = get_nvme_devices_count() self.subsys_no = self.get_nvme_devices_count()
self.log.info("Starting SPDK NVMeOF Target process") self.log.info("Starting SPDK NVMeOF Target process")
nvmf_app_path = os.path.join(self.spdk_dir, "build/bin/nvmf_tgt") nvmf_app_path = os.path.join(self.spdk_dir, "build/bin/nvmf_tgt")
proc = subprocess.Popen([nvmf_app_path, "--wait-for-rpc", "-m", self.core_mask]) proc = subprocess.Popen([nvmf_app_path, "--wait-for-rpc", "-m", self.core_mask])