Commit 0ebd0dce authored by Maciej Wawryk's avatar Maciej Wawryk Committed by Tomasz Zawadzki
Browse files

Add subsystem division in Kernel initiator



This will allow us to use num_cores and cpus_allowed option also
in Kernel initiator side.

Signed-off-by: default avatarMaciej Wawryk <maciejx.wawryk@intel.com>
Change-Id: Iad4e8bf7cd8a614ada8f443a8b1036dc2c4803e4
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1173


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarShuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: default avatarAleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: default avatarKarol Latecki <karol.latecki@intel.com>
parent 0eab3515
Loading
Loading
Loading
Loading
+16 −4
Original line number Diff line number Diff line
@@ -665,10 +665,22 @@ class KernelInitiator(Initiator):
        nvme_list = [x for x in out.split("\n") if "nvme" in x]

        filename_section = ""
        for i, nvme in enumerate(nvme_list):
            filename_section = "\n".join([filename_section,
                                          "[filename%s]" % i,
                                          "filename=%s" % nvme])
        filenames = ["nvme%sn1" % x for x in range(0, len(nvme_list))]
        nvme_per_split = int(len(nvme_list) / threads)
        remainder = len(nvme_list) % threads
        iterator = iter(filenames)
        result = []
        for i in range(threads):
            result.append([])
            for j in range(nvme_per_split):
                result[i].append(next(iterator))
                if remainder:
                    result[i].append(next(iterator))
                    remainder -= 1
        for i, r in enumerate(result):
            header = "[filename%s]" % i
            disks = "\n".join(["filename=/dev/%s" % x for x in r])
            filename_section = "\n".join([filename_section, header, disks])

        return filename_section