Message ID | 20210913140848.184928-1-bruce.richardson@intel.com (mailing list archive) |
---|---|
State | Accepted, archived |
Delegated to: | David Marchand |
Headers | show |
Series | [v2] eal/freebsd: lock memory device to prevent conflicts | expand |
Context | Check | Description |
---|---|---|
ci/iol-intel-Performance | success | Performance Testing PASS |
ci/iol-aarch64-compile-testing | success | Testing PASS |
ci/intel-Testing | fail | Testing issues |
ci/Intel-compilation | success | Compilation OK |
ci/iol-mellanox-Performance | success | Performance Testing PASS |
ci/iol-x86_64-compile-testing | success | Testing PASS |
ci/iol-x86_64-unit-testing | success | Testing PASS |
ci/github-robot: build | success | github build: passed |
ci/checkpatch | success | coding style OK |
13/09/2021 16:08, Bruce Richardson: > Only a single DPDK process on the system can be using the /dev/contigmem > mappings at a time, but this was never explicitly enforced, e.g. when > using --in-memory flag on two processes. To prevent possible conflict > issues, we lock the dev node when it's in use, preventing other DPDK > processes from starting up and causing problems for us. > > Fixes: 764bf26873b9 ("add FreeBSD support") > Cc: stable@dpdk.org > > Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> > Reviewed-by: Anatoly Burakov <anatoly.burakov@intel.com> Looks to be applied by David.
diff --git a/lib/eal/freebsd/eal_hugepage_info.c b/lib/eal/freebsd/eal_hugepage_info.c index 408f054f7a..9dbe375bd3 100644 --- a/lib/eal/freebsd/eal_hugepage_info.c +++ b/lib/eal/freebsd/eal_hugepage_info.c @@ -90,6 +90,10 @@ eal_hugepage_info_init(void) RTE_LOG(ERR, EAL, "could not open "CONTIGMEM_DEV"\n"); return -1; } + if (flock(fd, LOCK_EX | LOCK_NB) < 0) { + RTE_LOG(ERR, EAL, "could not lock memory. Is another DPDK process running?\n"); + return -1; + } if (buffer_size >= 1<<30) RTE_LOG(INFO, EAL, "Contigmem driver has %d buffers, each of size %dGB\n",