[Bionic][PATCH v3 00/21] blk-mq scheduler fixes
Jose Ricardo Ziviani
joserz at linux.vnet.ibm.com
Tue May 15 13:03:03 UTC 2018
From: Jose Ricardo Ziviani <joserz at linux.ibm.com>
Hello team!
Weeks ago I sent a patchset with:
* genirq/affinity: Spread irq vectors among present CPUs as far as possible
* blk-mq: simplify queue mapping & schedule with each possisble CPU
Unfortunately they broke some cases, in particular the hpsa driver, so they
had to be reverted. However, the bugs in blk_mq are leading to a very
unstable KVM/Qemu virtual machines whenever CPU hotplug/unplug and SMT
changes are performed, also impacting live migration.
So, this is a new attempt to have the patches included. This new version
includes all related fixes available upstream.
It's based on Ubuntu-4.15.0-21.22 tag.
V3:
- Added Buglink line in each commit
V2:
- Included all the fix necessary to blk_mq
Thank you!
Jose Ricardo Ziviani
Bart Van Assche (1):
blk-mq: Avoid that blk_mq_delay_run_hw_queue() introduces unintended
delays
Christoph Hellwig (2):
genirq/affinity: assign vectors to all possible CPUs
blk-mq: simplify queue mapping & schedule with each possisble CPU
Jens Axboe (1):
blk-mq: fix discard merge with scheduler attached
Ming Lei (16):
genirq/affinity: Rename *node_to_possible_cpumask as *node_to_cpumask
genirq/affinity: Move actual irq vector spreading into a helper
function
genirq/affinity: Allow irq spreading from a given starting point
genirq/affinity: Spread irq vectors among present CPUs as far as
possible
blk-mq: make sure hctx->next_cpu is set correctly
blk-mq: make sure that correct hctx->next_cpu is set
blk-mq: don't keep offline CPUs mapped to hctx 0
blk-mq: avoid to write intermediate result to hctx->next_cpu
blk-mq: introduce blk_mq_hw_queue_first_cpu() to figure out first cpu
blk-mq: don't check queue mapped in __blk_mq_delay_run_hw_queue()
nvme: pci: pass max vectors as num_possible_cpus() to
pci_alloc_irq_vectors
scsi: hpsa: fix selection of reply queue
scsi: megaraid_sas: fix selection of reply queue
scsi: core: introduce force_blk_mq
scsi: virtio_scsi: fix IO hang caused by automatic irq vector affinity
scsi: virtio_scsi: unify scsi_host_template
Thomas Gleixner (1):
genirq/affinity: Don't return with empty affinity masks on error
block/blk-core.c | 2 +
block/blk-merge.c | 29 +++-
block/blk-mq-cpumap.c | 5 -
block/blk-mq.c | 65 +++++---
drivers/nvme/host/pci.c | 2 +-
drivers/scsi/hosts.c | 1 +
drivers/scsi/hpsa.c | 73 ++++++---
drivers/scsi/hpsa.h | 1 +
drivers/scsi/megaraid/megaraid_sas.h | 1 +
drivers/scsi/megaraid/megaraid_sas_base.c | 39 ++++-
drivers/scsi/megaraid/megaraid_sas_fusion.c | 12 +-
drivers/scsi/virtio_scsi.c | 129 ++-------------
include/scsi/scsi_host.h | 3 +
kernel/irq/affinity.c | 166 +++++++++++++-------
14 files changed, 296 insertions(+), 232 deletions(-)
--
2.17.0
More information about the kernel-team
mailing list