+4
−22
+13
−2
+4
−26
Loading
Currently we use an array, which is computationally expensive for lots of subsystems, because lookups require O(n) string compares of the subsystem nqns. It's not capacity expensive, since it's just a pointer array. So switch it from an array of pointers to an RB_HEAD, so that we can reduce the lookups to O(log n) string compares instead. Note that we will still allocate arrays of spdk_nvmf_subsystem_poll_groups for each transport poll group, because we don't want to incur the extra cost of RB_FINDs in the IO path. Signed-off-by:Jim Harris <james.r.harris@intel.com> Change-Id: I896453154304bc41933757822f6078724d488908 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/17966 Community-CI: Mellanox Build Bot Reviewed-by:
Konrad Sztyber <konrad.sztyber@intel.com> Tested-by:
SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by:
Aleksey Marchuk <alexeymar@nvidia.com>