mirror of
https://github.com/torvalds/linux.git
synced 2024-11-16 17:12:06 +00:00
8affd8a4b5
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:
|
||
---|---|---|
.. | ||
bus.c | ||
cdev.c | ||
compat.c | ||
device.c | ||
dma.c | ||
idxd.h | ||
init.c | ||
irq.c | ||
Makefile | ||
perfmon.c | ||
perfmon.h | ||
registers.h | ||
submit.c | ||
sysfs.c |