env/pci: do the sleep-after-reset workaround only in primary process

All PCI device management is done only by the primary process,
so there's no need to delay device initialization in secondary
processes. If device is being initialized in a secondary
process, then it must have been already initialized by the
primary.

Change-Id: I087da77f981018dabf3feed59c76b294a16ca88d
Signed-off-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-on: https://review.gerrithub.io/429413
Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
This commit is contained in:
Darek Stojaczyk 2018-10-15 06:37:44 +02:00 committed by Jim Harris
parent d68ee5b431
commit 83b1102f7b

View File

@ -59,7 +59,7 @@ spdk_pci_device_init(struct rte_pci_driver *driver,
return 1;
}
if (device->kdrv == RTE_KDRV_VFIO) {
if (device->kdrv == RTE_KDRV_VFIO && spdk_process_is_primary()) {
/*
* TODO: This is a workaround for an issue where the device is not ready after VFIO reset.
* Figure out what is actually going wrong and remove this sleep.