In bpf_eth_cbi_unload(), rte_smp_mb() was called immediately before
bpf_eth_cbi_wait(), which itself starts with rte_smp_mb().

Remove the redundant rte_smp_mb() call from bpf_eth_cbi_unload() and
update the unload sequence diagram accordingly.

Signed-off-by: Marat Khalili <[email protected]>
---
 lib/bpf/bpf_pkt.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/lib/bpf/bpf_pkt.c b/lib/bpf/bpf_pkt.c
index 7ee16cfa69..68671848e9 100644
--- a/lib/bpf/bpf_pkt.c
+++ b/lib/bpf/bpf_pkt.c
@@ -62,8 +62,6 @@
  *     |                      |               |              |              |  
              |
  *   rte_smp_mb()             |               |              |              |  
              |
  *     |                      |               |              |              |  
              |
- *   rte_smp_mb()             |               |              |              |  
              |
- *     |                      |               |              |              |  
              |
  *     +-if use is odd        |               |              |              | 
if cb not NULL-+
  *     | |                    |               |              |              |  
            | |
  *     | +------------ fetch odd ------------>|              |              
|<-- execute --+ |
@@ -502,7 +500,6 @@ bpf_eth_cbi_unload(struct bpf_eth_cbi *bc)
 {
        /* mark this cbi as empty */
        bc->cb = NULL;
-       rte_smp_mb();
 
        /* make sure datapath doesn't use bpf anymore, then destroy bpf */
        bpf_eth_cbi_wait(bc);
-- 
2.43.0

Reply via email to