diff options
author | Hernan Vargas <hernan.vargas@intel.com> | 2024-05-02 13:45:44 -0700 |
---|---|---|
committer | Maxime Coquelin <maxime.coquelin@redhat.com> | 2024-06-07 15:09:46 +0200 |
commit | 4c61a68bbbff26a2a043e6a6e0b4dfb084c4a1ba (patch) | |
tree | 97c568e08898ec6803b71bcc8a032430f474e03f | |
parent | c7f7b4172533257e8ed4328be400cbe7644ea4e3 (diff) |
baseband/acc: fix memory barrier
Moving memory barrier so that dequeue thread can be in sync with enqueue
thread.
Fixes: 32e8b7ea35dd ("baseband/acc100: refactor to segregate common code")
Cc: stable@dpdk.org
Signed-off-by: Hernan Vargas <hernan.vargas@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
-rw-r--r-- | drivers/baseband/acc/acc_common.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/baseband/acc/acc_common.h b/drivers/baseband/acc/acc_common.h index fddeb0737b..e249f37e38 100644 --- a/drivers/baseband/acc/acc_common.h +++ b/drivers/baseband/acc/acc_common.h @@ -1112,6 +1112,9 @@ acc_dma_enqueue(struct acc_queue *q, uint16_t n, req_elem_addr, (void *)q->mmio_reg_enqueue); + q->aq_enqueued++; + q->sw_ring_head += enq_batch_size; + rte_wmb(); /* Start time measurement for enqueue function offload. */ @@ -1122,8 +1125,6 @@ acc_dma_enqueue(struct acc_queue *q, uint16_t n, queue_stats->acc_offload_cycles += rte_rdtsc_precise() - start_time; - q->aq_enqueued++; - q->sw_ring_head += enq_batch_size; n -= enq_batch_size; } while (n); |