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
net/bnxt: fix null dereference in session cleanup
[dpdk.git]
/
lib
/
ring
/
rte_ring_c11_pvt.h
diff --git
a/lib/ring/rte_ring_c11_pvt.h
b/lib/ring/rte_ring_c11_pvt.h
index
759192f
..
f895950
100644
(file)
--- a/
lib/ring/rte_ring_c11_pvt.h
+++ b/
lib/ring/rte_ring_c11_pvt.h
@@
-2,6
+2,7
@@
*
* Copyright (c) 2017,2018 HXT-semitech Corporation.
* Copyright (c) 2007-2009 Kip Macy kmacy@freebsd.org
*
* Copyright (c) 2017,2018 HXT-semitech Corporation.
* Copyright (c) 2007-2009 Kip Macy kmacy@freebsd.org
+ * Copyright (c) 2021 Arm Limited
* All rights reserved.
* Derived from FreeBSD's bufring.h
* Used as BSD-3 Licensed with permission from Kip Macy.
* All rights reserved.
* Derived from FreeBSD's bufring.h
* Used as BSD-3 Licensed with permission from Kip Macy.
@@
-21,8
+22,7
@@
__rte_ring_update_tail(struct rte_ring_headtail *ht, uint32_t old_val,
* we need to wait for them to complete
*/
if (!single)
* we need to wait for them to complete
*/
if (!single)
- while (unlikely(ht->tail != old_val))
- rte_pause();
+ rte_wait_until_equal_32(&ht->tail, old_val, __ATOMIC_RELAXED);
__atomic_store_n(&ht->tail, new_val, __ATOMIC_RELEASE);
}
__atomic_store_n(&ht->tail, new_val, __ATOMIC_RELEASE);
}
@@
-111,7
+111,7
@@
__rte_ring_move_prod_head(struct rte_ring *r, unsigned int is_sp,
* @param is_sc
* Indicates whether multi-consumer path is needed or not
* @param n
* @param is_sc
* Indicates whether multi-consumer path is needed or not
* @param n
- * The number of elements we will want to
en
queue, i.e. how far should the
+ * The number of elements we will want to
de
queue, i.e. how far should the
* head be moved
* @param behavior
* RTE_RING_QUEUE_FIXED: Dequeue a fixed number of items from a ring
* head be moved
* @param behavior
* RTE_RING_QUEUE_FIXED: Dequeue a fixed number of items from a ring