Searched hist:"8 affd8a4b5ce356c8900cfb037674f3a4a11fbdb" (Results 1 – 1 of 1) sorted by relevance
/openbmc/linux/drivers/dma/idxd/ |
H A D | submit.c | diff 8affd8a4b5ce356c8900cfb037674f3a4a11fbdb Wed Dec 08 11:01:27 CST 2021 Dave Jiang <dave.jiang@intel.com> dmaengine: idxd: fix missed completion on abort path
Ming reported that with the abort path of the descriptor submission, there can be a window where a completed descriptor can be missed to be completed by the irq completion thread:
CPU A CPU B Submit (successful)
Submit (fail) irq_process_work_list() // empty
llist_abort_desc() // remove all descs from pending list
irq_process_pending_llist() // empty exit idxd_wq_thread() with no processing
Add opportunistic descriptor completion in the abort path in order to remove the missed completion.
Fixes: 6b4b87f2c31a ("dmaengine: idxd: fix submission race window") Reported-by: Ming Li <ming4.li@intel.com> Signed-off-by: Dave Jiang <dave.jiang@intel.com> Link: https://lore.kernel.org/r/163898288714.443911.16084982766671976640.stgit@djiang5-desk3.ch.intel.com Signed-off-by: Vinod Koul <vkoul@kernel.org>
|