support for partial irq affinity assignment V3

From: Christoph Hellwig
Date: Tue Nov 08 2016 - 20:16:53 EST


This series adds support for automatic interrupt assignment to devices
that have a few vectors that are set aside for admin or config purposes
and thus should not fall into the general per-cpu assginment pool.

The first patch adds that support to the core IRQ and PCI/msi code,
and the second is a small tweak to a block layer helper to make use
of it. I'd love to have both go into the same tree so that consumers
of this (e.g. the virtio, scsi and rdma trees) only need to pull in
one of these trees as dependency.

Changes since V3:
- lots of typo fixes
- fixed an argument name

Changes since V1:
- split up into more patches (thanks to Thomas for the initial work)
- simplify internal parameter passing a bit (also thanks to Thomas)