git.droids-corp.org
/
dpdk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ipc: end multiprocess thread during cleanup
[dpdk.git]
/
lib
/
bpf
/
bpf_pkt.c
diff --git
a/lib/bpf/bpf_pkt.c
b/lib/bpf/bpf_pkt.c
index
6e8248f
..
af422af
100644
(file)
--- a/
lib/bpf/bpf_pkt.c
+++ b/
lib/bpf/bpf_pkt.c
@@
-113,7
+113,7
@@
bpf_eth_cbi_unuse(struct bpf_eth_cbi *cbi)
static void
bpf_eth_cbi_wait(const struct bpf_eth_cbi *cbi)
{
static void
bpf_eth_cbi_wait(const struct bpf_eth_cbi *cbi)
{
- uint32_t
nuse,
puse;
+ uint32_t puse;
/* make sure all previous loads and stores are completed */
rte_smp_mb();
/* make sure all previous loads and stores are completed */
rte_smp_mb();
@@
-122,11
+122,8
@@
bpf_eth_cbi_wait(const struct bpf_eth_cbi *cbi)
/* in use, busy wait till current RX/TX iteration is finished */
if ((puse & BPF_ETH_CBI_INUSE) != 0) {
/* in use, busy wait till current RX/TX iteration is finished */
if ((puse & BPF_ETH_CBI_INUSE) != 0) {
- do {
- rte_pause();
- rte_compiler_barrier();
- nuse = cbi->use;
- } while (nuse == puse);
+ RTE_WAIT_UNTIL_MASKED((uint32_t *)(uintptr_t)&cbi->use,
+ UINT32_MAX, !=, puse, __ATOMIC_RELAXED);
}
}
}
}
@@
-169,7
+166,7
@@
bpf_eth_cbh_add(struct bpf_eth_cbh *cbh, uint16_t port, uint16_t queue)
}
/*
}
/*
- * BPF packet processing routin
i
es.
+ * BPF packet processing routines.
*/
static inline uint32_t
*/
static inline uint32_t