lib/nvme: only active process to operate the unmap operation
Fix issue: #2320
Only the primary process will do the unmap bar operation as for
the map bar operation.
The DevHandle is process specific and the issue here is the
secondary process's function pointer of DevHandle is not properly
set.
Signed-off-by: GangCao <gang.cao@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/11216 (master)
(cherry picked from commit 765cf74d07
)
Change-Id: I95dddc76c6ce4be8775b6aaf54699002baffd3b9
Signed-off-by: Krzysztof Karas <krzysztof.karas@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/11274
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: GangCao <gang.cao@intel.com>
This commit is contained in:
parent
2c37d059c6
commit
acbe9bd882
@ -830,7 +830,7 @@ nvme_pcie_ctrlr_free_bars(struct nvme_pcie_ctrlr *pctrlr)
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (addr) {
|
||||
if (addr && spdk_process_is_primary()) {
|
||||
/* NOTE: addr may have been remapped here. We're relying on DPDK to call
|
||||
* munmap internally.
|
||||
*/
|
||||
|
@ -42,13 +42,23 @@ function nvme_fio_test() {
|
||||
}
|
||||
|
||||
function nvme_multi_secondary() {
|
||||
$SPDK_EXAMPLE_DIR/perf -i 0 -q 16 -w read -o 4096 -t 3 -c 0x1 &
|
||||
# Primary process exits last
|
||||
$SPDK_EXAMPLE_DIR/perf -i 0 -q 16 -w read -o 4096 -t 5 -c 0x1 &
|
||||
pid0=$!
|
||||
$SPDK_EXAMPLE_DIR/perf -i 0 -q 16 -w read -o 4096 -t 3 -c 0x2 &
|
||||
pid1=$!
|
||||
$SPDK_EXAMPLE_DIR/perf -i 0 -q 16 -w read -o 4096 -t 3 -c 0x4
|
||||
wait $pid0
|
||||
wait $pid1
|
||||
|
||||
# Secondary process exits last
|
||||
$SPDK_EXAMPLE_DIR/perf -i 0 -q 16 -w read -o 4096 -t 3 -c 0x1 &
|
||||
pid0=$!
|
||||
$SPDK_EXAMPLE_DIR/perf -i 0 -q 16 -w read -o 4096 -t 3 -c 0x2 &
|
||||
pid1=$!
|
||||
$SPDK_EXAMPLE_DIR/perf -i 0 -q 16 -w read -o 4096 -t 5 -c 0x4
|
||||
wait $pid0
|
||||
wait $pid1
|
||||
}
|
||||
|
||||
if [ $(uname) = Linux ]; then
|
||||
|
Loading…
Reference in New Issue
Block a user