This patch series refactors the code to enable irq on wq enable only when necessary instead of allocation all msix vectors at probe. This saves CPU irq vector allocation on x86 platforms. MSIX vector 0 is special and remain being allocated at probe. --- Dave Jiang (3): dmaengine: idxd: embed irq_entry in idxd_wq struct dmaengine: idxd: fix descriptor flushing locking dmaengine: idxd: change MSIX allocation based on per wq activation drivers/dma/idxd/device.c | 163 +++++++++++++++++++++------------- drivers/dma/idxd/dma.c | 12 +++ drivers/dma/idxd/idxd.h | 29 +++--- drivers/dma/idxd/init.c | 181 ++++++-------------------------------- drivers/dma/idxd/irq.c | 13 +-- drivers/dma/idxd/submit.c | 8 +- drivers/dma/idxd/sysfs.c | 1 - include/uapi/linux/idxd.h | 1 + 8 files changed, 168 insertions(+), 240 deletions(-) --