event/octeontx2: fix HW timer race condition
authorPavan Nikhilesh <pbhagavatula@marvell.com>
Fri, 22 Nov 2019 15:44:26 +0000 (21:14 +0530)
committerJerin Jacob <jerinj@marvell.com>
Tue, 26 Nov 2019 06:49:30 +0000 (07:49 +0100)
commit7c6e645b599fcb334396280cf1a067a74e20b424
tree7a07937b1b6bf12d67bc2f39c95d704e5799e74b
parent79c25ae24f4541965ec4813c19857cddd47d8157
event/octeontx2: fix HW timer race condition

Fix HW race condition observed when timeout resolution is low (<5us).
When HW traverses a given TIM bucket it will clear chunk_remainder,
but since SW always decreases the chunk_remainder at the start of the
arm routine it might cause a race where SW updates chunk_remainder
after HW has cleared it that lead to nasty side effects.

Fixes: 95e4e4ec7469 ("event/octeontx2: add timer arm timeout burst")
Cc: stable@dpdk.org
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
drivers/event/octeontx2/otx2_tim_worker.h