Hi Jens, As I mentioned, there are at least two issues in the patch of ' irq: add support for allocating (and affinitizing) sets of IRQs': 1) it is wrong to pass 'mask + usedvec' to irq_build_affinity_masks() 2) we should spread all possible CPUs in 2-stage way on each set of IRQs The fix isn't trivial, and I introduce two extra patches as preparation, then the implementation can be more clean. The patchset is against mq-maps branch of block tree, feel free to integrate into the whole patchset of multiple queue maps. Thanks, Ming Jens Axboe (1): irq: add support for allocating (and affinitizing) sets of IRQs Ming Lei (3): Revert "irq: add support for allocating (and affinitizing) sets of IRQs" irq: move 2-stage irq spread into one helper irq: pass first vector to __irq_build_affinity_masks kernel/irq/affinity.c | 119 +++++++++++++++++++++++++++++++------------------- 1 file changed, 75 insertions(+), 44 deletions(-) Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: Hannes Reinecke <hare@xxxxxxxx> Cc: Ming Lei <ming.lei@xxxxxxxxxx> Cc: Keith Busch <keith.busch@xxxxxxxxx> Cc: Sagi Grimberg <sagi@xxxxxxxxxxx> -- 2.9.5