crypto/cnxk: fix inflight count calculation
Inflight count calculation is updated to cover wrap around cases where
head can become smaller than tail.
Fixes: fd390896f4
("crypto/cnxk: allow different cores in pending queue")
Cc: stable@dpdk.org
Reported-by: Kiran Kumar K <kirankumark@marvell.com>
Signed-off-by: Anoob Joseph <anoobj@marvell.com>
Acked-by: Akhil Goyal <gakhil@marvell.com>
This commit is contained in:
parent
2842ba07af
commit
ec6ca0536e
@ -156,7 +156,11 @@ pending_queue_retreat(uint64_t *index, const uint64_t mask, uint64_t nb_entry)
|
||||
static __rte_always_inline uint64_t
|
||||
pending_queue_infl_cnt(uint64_t head, uint64_t tail, const uint64_t mask)
|
||||
{
|
||||
return (head - tail) & mask;
|
||||
/*
|
||||
* Mask is nb_desc - 1. Add nb_desc to head and mask to account for
|
||||
* cases when tail > head, which happens during wrap around.
|
||||
*/
|
||||
return ((head + mask + 1) - tail) & mask;
|
||||
}
|
||||
|
||||
static __rte_always_inline uint64_t
|
||||
|
Loading…
Reference in New Issue
Block a user