For the wmb in order_process_stage_1 and order_process_stage_invalid in
the order test, they can be removed. This is because when the test results
are wrong, the worker core writes 'true' to t->err. Then other worker
cores, producer cores and the main core will load the 'error' index and
stop testing. So, for the worker cores, no other storing operation needs
to be guaranteed after this when errors happen.
Signed-off-by: Feifei Wang <feifei.wang2@arm.com>
Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
Acked-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
flow, *order_mbuf_seqn(t, ev->mbuf),
expected_flow_seq[flow]);
t->err = true;
- rte_smp_wmb();
}
/*
* Events from an atomic flow of an event queue can be scheduled only to
{
evt_err("invalid queue %d", ev->queue_id);
t->err = true;
- rte_smp_wmb();
}
#define ORDER_WORKER_INIT\