All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 00/10] blk: refactor queue affinity helpers
@ 2024-11-13 14:26 Daniel Wagner
  2024-11-13 14:26 ` [PATCH v4 01/10] driver core: bus: add irq_get_affinity callback to bus_type Daniel Wagner
                   ` (9 more replies)
  0 siblings, 10 replies; 25+ messages in thread
From: Daniel Wagner @ 2024-11-13 14:26 UTC (permalink / raw)
  To: Jens Axboe, Bjorn Helgaas, Michael S. Tsirkin, Jason Wang,
	Xuan Zhuo, Eugenio Pérez, Martin K. Petersen, Keith Busch,
	Christoph Hellwig, Sagi Grimberg, John Garry, Greg Kroah-Hartman,
	Hannes Reinecke
  Cc: linux-block, linux-kernel, linux-pci, virtualization, linux-scsi,
	megaraidlinux.pdl, mpi3mr-linuxdrv.pdl, MPT-FusionLinux.pdl,
	storagedev, linux-nvme, Daniel Wagner

Baes on Johns' idea, I added another irq_get_affinity callback to struct
device_driver and made blk_mq_hctx_map_queues to try that one first. With
this I could also replace the open coded queue mapping in hisi_sas v2.

Besides this change I fixed couple of typos and also addressed John
feedback in hisi_sas v3.

Original cover letter:

These patches were part of 'honor isolcpus configuration' [1] series. To
simplify the review process I decided to send this as separate series
because I think it's a nice cleanup independent of the isolcpus feature.

Signed-off-by: Daniel Wagner <wagi@kernel.org>
---
Changes in v4:
- added irq_get_affinity callback to struct device_driver
- hisi_sas use dev pointer directly from hisi_hba.
- blk_mq_hctx_map_queues: ty irq_get_affinity callback
  from device_driver first then from bus_type
- collected tags
- fixed typos
- Link to v3: https://lore.kernel.org/r/20241112-refactor-blk-affinity-helpers-v3-0-573bfca0cbd8@kernel.org

Changes in v3:
- dropped the additinal argument in blk_mq_hctx_map_queues.
  leave open coded version in hisi_sas_v2.
- splitted "blk-mp: introduce blk_mq_hctx_map_queues" patch into
  three patches.
- dropped local variable in pci_device_irq_get_affinity
- Link to v2: https://lore.kernel.org/r/20241111-refactor-blk-affinity-helpers-v2-0-f360ddad231a@kernel.org

Changes in v2:
- added new callback to struct bus_type and call directly the affinity
  helpers from there.
- Link to v1: https://lore.kernel.org/r/20240913-refactor-blk-affinity-helpers-v1-0-8e058f77af12@suse.de

Changes in v1:
- renamed blk_mq_dev_map_queues to blk_mq_hctx_map_queues
- squased 'virito: add APIs for retrieving vq affinity' into
  'blk-mq: introduce blk_mq_hctx_map_queues'
- moved hisi_sas changed into a new patch
- hisi_sas use define instead of hard coded value
- moved helpers into their matching subsystem, removed
  blk-mq-pci and blk-mq-virtio files
- fix spelling/typos
- fixed long lines in docu (yep new lines in brief descriptions are
  supported, tested ti)
- based on the first part of
  [1] https://lore.kernel.org/all/20240806-isolcpus-io-queues-v3-0-da0eecfeaf8b@suse.de

---
Daniel Wagner (10):
      driver core: bus: add irq_get_affinity callback to bus_type
      driver core: add irq_get_affinity callback device_driver
      PCI: hookup irq_get_affinity callback
      virtio: hookup irq_get_affinity callback
      blk-mq: introduce blk_mq_hctx_map_queues
      scsi: replace blk_mq_pci_map_queues with blk_mq_hctx_map_queues
      scsi: hisi_sas: use blk_mq_hctx_map_queues to map queues
      nvme: replace blk_mq_pci_map_queues with blk_mq_hctx_map_queues
      virtio: blk/scsi: replace blk_mq_virtio_map_queues with blk_mq_hctx_map_queues
      blk-mq: remove unused queue mapping helpers

 block/Makefile                            |  2 --
 block/blk-mq-cpumap.c                     | 43 +++++++++++++++++++++++++++++
 block/blk-mq-pci.c                        | 46 -------------------------------
 block/blk-mq-virtio.c                     | 46 -------------------------------
 drivers/block/virtio_blk.c                |  4 +--
 drivers/nvme/host/fc.c                    |  1 -
 drivers/nvme/host/pci.c                   |  3 +-
 drivers/pci/pci-driver.c                  | 14 ++++++++++
 drivers/scsi/fnic/fnic_main.c             |  3 +-
 drivers/scsi/hisi_sas/hisi_sas.h          |  1 -
 drivers/scsi/hisi_sas/hisi_sas_v2_hw.c    | 22 +++++++--------
 drivers/scsi/hisi_sas/hisi_sas_v3_hw.c    |  4 +--
 drivers/scsi/megaraid/megaraid_sas_base.c |  3 +-
 drivers/scsi/mpi3mr/mpi3mr.h              |  1 -
 drivers/scsi/mpi3mr/mpi3mr_os.c           |  2 +-
 drivers/scsi/mpt3sas/mpt3sas_scsih.c      |  3 +-
 drivers/scsi/pm8001/pm8001_init.c         |  2 +-
 drivers/scsi/pm8001/pm8001_sas.h          |  1 -
 drivers/scsi/qla2xxx/qla_nvme.c           |  3 +-
 drivers/scsi/qla2xxx/qla_os.c             |  4 +--
 drivers/scsi/smartpqi/smartpqi_init.c     |  7 ++---
 drivers/scsi/virtio_scsi.c                |  3 +-
 drivers/virtio/virtio.c                   | 19 +++++++++++++
 include/linux/blk-mq-pci.h                | 11 --------
 include/linux/blk-mq-virtio.h             | 11 --------
 include/linux/blk-mq.h                    |  2 ++
 include/linux/device/bus.h                |  3 ++
 include/linux/device/driver.h             |  3 ++
 28 files changed, 112 insertions(+), 155 deletions(-)
---
base-commit: c9af98a7e8af266bae73e9d662b8341da1ec5824
change-id: 20240912-refactor-blk-affinity-helpers-7089b95b4b10

Best regards,
-- 
Daniel Wagner <wagi@kernel.org>


^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2024-11-14 12:21 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-13 14:26 [PATCH v4 00/10] blk: refactor queue affinity helpers Daniel Wagner
2024-11-13 14:26 ` [PATCH v4 01/10] driver core: bus: add irq_get_affinity callback to bus_type Daniel Wagner
2024-11-14  1:45   ` Ming Lei
2024-11-13 14:26 ` [PATCH v4 02/10] driver core: add irq_get_affinity callback device_driver Daniel Wagner
2024-11-14  1:52   ` Ming Lei
2024-11-14  7:06     ` Daniel Wagner
2024-11-13 14:26 ` [PATCH v4 03/10] PCI: hookup irq_get_affinity callback Daniel Wagner
2024-11-14  1:53   ` Ming Lei
2024-11-13 14:26 ` [PATCH v4 04/10] virtio: " Daniel Wagner
2024-11-14  1:54   ` Ming Lei
2024-11-13 14:26 ` [PATCH v4 05/10] blk-mq: introduce blk_mq_hctx_map_queues Daniel Wagner
2024-11-14  1:58   ` Ming Lei
2024-11-14  7:54     ` Daniel Wagner
2024-11-14  9:12       ` Ming Lei
2024-11-14 12:06         ` Daniel Wagner
2024-11-14 12:11           ` Christoph Hellwig
2024-11-14 12:20           ` John Garry
2024-11-13 14:26 ` [PATCH v4 06/10] scsi: replace blk_mq_pci_map_queues with blk_mq_hctx_map_queues Daniel Wagner
2024-11-13 14:26 ` [PATCH v4 07/10] scsi: hisi_sas: use blk_mq_hctx_map_queues to map queues Daniel Wagner
2024-11-14  0:36   ` kernel test robot
2024-11-14  7:08     ` Daniel Wagner
2024-11-14  3:28   ` kernel test robot
2024-11-13 14:26 ` [PATCH v4 08/10] nvme: replace blk_mq_pci_map_queues with blk_mq_hctx_map_queues Daniel Wagner
2024-11-13 14:26 ` [PATCH v4 09/10] virtio: blk/scsi: replace blk_mq_virtio_map_queues " Daniel Wagner
2024-11-13 14:26 ` [PATCH v4 10/10] blk-mq: remove unused queue mapping helpers Daniel Wagner

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.