+9
−16
Loading
This is an attempt to workaround a kernel data race spotted in #1275. We have to delay our VFIO interraction until after the kernel handles the PCIe hotremoval. Otherwise we risk having a deadlock inside the kernel. We could put a dummy delay in SPDK hotremove routine, but we don't know exactly how long we have to wait, so wait for the VFIO hotremove notification to arrive instead. From what I understand it is always sent after the kerner already releases the critical locks. This patch breaks hotremove for VFIO devices when running with DPDK version < 18.05, but those reached EOL already and their support is removed from SPDK later within this series. It would be nice to wait for this VFIO notification inside lib/env_dpdk e.g. inside the detach function, but we don't know there why the detach is happening. It could be triggered by a user RPC, not physical device hotremoval. Change-Id: I2727de923bb2e3e05a83202465330a32a77d7cfc Signed-off-by:Darek Stojaczyk <dariusz.stojaczyk@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1732 Community-CI: Mellanox Build Bot 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>