stack: remove acquire fence on push

An acquire fence is used to make sure loads after the fence can observe
all store operations before a specific store-release.
But push doesn't read any data, except for the head which is part of a
CAS operation (the items on the list are not read).
So there is no need for the acquire barrier.

Signed-off-by: Steven Lariau <steven.lariau@arm.com>
Reviewed-by: Dharmik Thakkar <dharmik.thakkar@arm.com>
Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
Acked-by: Gage Eads <gage.eads@intel.com>
This commit is contained in:
Steven Lariau 2020-09-25 18:43:36 +01:00 committed by David Marchand
parent 0df8e2d2c9
commit 9e90bc9c71

View File

@ -44,12 +44,6 @@ __rte_stack_lf_push_elems(struct rte_stack_lf_list *list,
do {
struct rte_stack_lf_head new_head;
/* Use an acquire fence to establish a synchronized-with
* relationship between the list->head load and store-release
* operations (as part of the rte_atomic128_cmp_exchange()).
*/
__atomic_thread_fence(__ATOMIC_ACQUIRE);
/* Swing the top pointer to the first element in the list and
* make the last element point to the old top.
*/