+106
−0
+34
−45
Loading
Expose a cache of pci devices in form of an assoc array that could be looked up during the runtime of a script like setup.sh. In case of setup.sh, caching speeds up execution quite visibly: config run, no caching: real 0m4.488s user 0m1.440s sys 0m1.260s config run, caching in use: real 0m2.876s user 0m0.365s sys 0m0.420s Note that for initial config runs, binding controllers to proper drivers is the actual bottleneck. status run, no caching: real 0m1.877s user 0m1.252s sys 0m0.984s status run, caching in use: real 0m0.371s user 0m0.242s sys 0m0.204s reset run, no caching: real 0m2.559s user 0m1.409s sys 0m1.322s reset run, caching in use: real 0m0.960s user 0m0.432s sys 0m0.419s Additionally, in case common tools, e.g. lspci, are missing, fallback to sysfs to pick all needed devices from the pci bus. Targeted for Linux systems only. Change-Id: Ib69ef724b9f09eca0cbb9b88f1c363edc1efd5dc Signed-off-by:Michal Berger <michalx.berger@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1845 Community-CI: Mellanox Build Bot Tested-by:
SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by:
Darek Stojaczyk <dariusz.stojaczyk@intel.com> Reviewed-by:
Tomasz Zawadzki <tomasz.zawadzki@intel.com>