blk-mq: allow passing in an external queue mapping V3

From: Christoph Hellwig
Date: Wed Sep 14 2016 - 10:19:12 EST

This series is the remainder of the earlier "automatic interrupt affinity for
MSI/MSI-X capable devices" series, and make uses of the new irq-level
interrupt / queue mapping code in blk-mq, as well as allowing the driver
to pass in such a mask obtained from the (PCI) interrupt code. To fully
support this feature in drivers the final third in the PCI layer will
be needed as well.

A git tree is available at:

git:// block-queue-mapping.2


Changes since V2:
- major rework of the core IRQ affinity code to support sibling maps
- reworked the block code to use the above

Changes since V1:
- rebased on top of Linux 4.8-rc4

Changes since automatic interrupt affinity for MSI/MSI-X capable devices V3:
- a trivial cleanup in blk_mq_create_mq_map pointed out by Alexander