2016-10-08 02:09:26

by Jens Axboe

[permalink] [raw]
Subject: [GIT PULL] blk-mq irq/cpu mapping updates

Hi Linus,

This is the block-irq topic branch for 4.9-rc. It's mostly from
Christoph, and it allows drivers to specify their own mappings, and more
importantly, to share the blk-mq mappings with the IRQ affinity
mappings. It's a good step towards making this work better out of the
box.

This will throw a few merge conflicts with later patches in the main
branch that you already pulled. I kept this a private branch due to the
pci dependencies. I have attached the diff of how I resolved it, just in
case.

Please pull!


git://git.kernel.dk/linux-block.git for-4.9/block-irq


----------------------------------------------------------------
Christoph Hellwig (8):
blk-mq: don't redistribute hardware queues on a CPU hotplug event
blk-mq: only allocate a single mq_map per tag_set
blk-mq: remove ->map_queue
blk-mq: allow the driver to pass in a queue mapping
blk-mq: provide a default queue mapping for PCI device
nvme: switch to use pci_alloc_irq_vectors
nvme: remove the post_scan callout
blk-mq: get rid of the cpumask in struct blk_mq_tags

Jens Axboe (2):
Merge branch 'irq/for-block' of git://git.kernel.org/.../tip/tip
into for-4.9/msi-irq
blk-mq: kill unused blk_mq_create_mq_map()

Stephen Rothwell (1):
blk_mq: linux/blk-mq.h does not include all the headers it depends on

Documentation/block/biodoc.txt | 4 +-
block/Kconfig | 5 +
block/Makefile | 2 +-
block/bio.c | 2 +-
block/blk-core.c | 16 +-
block/blk-flush.c | 6 +-
block/blk-mq-cpumap.c | 25 +--
block/blk-mq-pci.c | 47 +++++
block/blk-mq-sysfs.c | 15 +-
block/blk-mq-tag.c | 11 +-
block/blk-mq-tag.h | 1 -
block/blk-mq.c | 117 +++++------
block/blk-mq.h | 10 +-
block/blk.h | 11 +-
drivers/block/loop.c | 1 -
drivers/block/mtip32xx/mtip32xx.c | 3 +-
drivers/block/nbd.c | 411
+++++++++++++++-----------------------
drivers/block/null_blk.c | 1 -
drivers/block/rbd.c | 1 -
drivers/block/virtio_blk.c | 1 -
drivers/block/xen-blkfront.c | 1 -
drivers/md/dm-crypt.c | 2 +-
drivers/md/dm-rq.c | 1 -
drivers/mtd/ubi/block.c | 1 -
drivers/nvme/host/core.c | 3 -
drivers/nvme/host/nvme.h | 1 -
drivers/nvme/host/pci.c | 109 ++++------
drivers/nvme/host/rdma.c | 2 -
drivers/nvme/target/loop.c | 2 -
drivers/scsi/scsi_lib.c | 1 -
fs/befs/linuxvfs.c | 2 +-
fs/block_dev.c | 11 +-
fs/btrfs/inode.c | 5 +-
include/linux/bio.h | 2 -
include/linux/blk-mq-pci.h | 9 +
include/linux/blk-mq.h | 26 ++-
include/linux/blk_types.h | 21 +-
include/linux/blkdev.h | 4 +-
include/linux/ioprio.h | 1 -
include/linux/workqueue.h | 1 +
kernel/workqueue.c | 40 ++--
41 files changed, 429 insertions(+), 506 deletions(-)
create mode 100644 block/blk-mq-pci.c
create mode 100644 include/linux/blk-mq-pci.h

--
Jens Axboe


Attachments:
block-irq-resolve.patch (1.58 kB)