mbox series

[RFC,00/21] block: add and use init tagset helper

Message ID 20221005032257.80681-1-kch@nvidia.com
Headers show
Series block: add and use init tagset helper | expand

Message

Chaitanya Kulkarni Oct. 5, 2022, 3:22 a.m. UTC
Hi,

Add and use the helper to initialize the common fields of the tag_set
such as blk_mq_ops, number of h/w queues, queue depth, command size,
numa_node, timeout, BLK_MQ_F_XXX flags, driver data. This initialization
is spread all over the block drivers. This avoids repetation of
inialization code of the tag set in current block drivers and any future
ones.

P.S. I'm aware of the EXPORT_SYMBOL_GPL() checkpatch warn just to make
get some feedback to so I can remove the RFC tag.

-ck

Chaitanya Kulkarni (21):
  block: add and use init tagset helper
  loop: use lib tagset init helper
  nbd: use lib tagset init helper
  rnbd: use lib tagset init helper
  bsg-lib: use lib tagset init helper
  rnbd-clt: use lib tagset init helper
  virtio-blk: use lib tagset init helper
  scsi: use lib tagset init helper
  block: use lib tagset init helper
  amiflop: use lib tagset init helper
  floppy: use lib tagset init helper
  mtip32xx: use lib tagset init helper
  z3ram: use lib tagset init helper
  scm_blk: use lib tagset init helper
  ubi: use lib tagset init helper
  mmc: core: use lib tagset init helper
  dasd: use lib tagset init helper
  nvme-core: use lib tagset init helper for I/O q
  nvme-core: use lib tagset init helper for adminq
  nvme-apple: use lib tagset init helper
  nvme-pci: use lib tagset init helper

 block/blk-mq.c                    | 27 ++++++++++++++++++++++-----
 block/bsg-lib.c                   |  9 +++------
 drivers/block/amiflop.c           |  8 +++-----
 drivers/block/floppy.c            |  7 ++-----
 drivers/block/loop.c              | 12 ++++--------
 drivers/block/mtip32xx/mtip32xx.c | 13 ++++---------
 drivers/block/nbd.c               | 11 +++--------
 drivers/block/null_blk/main.c     | 10 +++-------
 drivers/block/rbd.c               | 11 +++++------
 drivers/block/rnbd/rnbd-clt.c     | 25 +++++++++++--------------
 drivers/block/virtio_blk.c        | 14 +++++---------
 drivers/block/z2ram.c             |  7 ++-----
 drivers/mmc/core/queue.c          |  9 +++------
 drivers/mtd/ubi/block.c           | 11 +++--------
 drivers/nvme/host/apple.c         | 25 ++++++++-----------------
 drivers/nvme/host/core.c          | 21 +++++----------------
 drivers/nvme/host/pci.c           | 25 +++++++------------------
 drivers/s390/block/dasd_genhd.c   |  9 +++------
 drivers/s390/block/scm_blk.c      | 10 +++-------
 drivers/scsi/scsi_lib.c           | 13 +++++--------
 include/linux/blk-mq.h            |  5 +++++
 21 files changed, 109 insertions(+), 173 deletions(-)

Comments

Bart Van Assche Oct. 6, 2022, 6:40 p.m. UTC | #1
On 10/6/22 11:13, Chaitanya Kulkarni wrote:
> I will trim down the argument list with the most common arguments
> and keep it to max 4-5 mandatory arguments identical to what we
> have done this for blk_next_bio() and bio_alloc_bioset() [1]
> where mandatory arguments are part of the initialization API
> than repeating the code all the in the tree, that creates
> maintenance work of treewide patches.
> 
> Also, instead of doing tree wide change in series I'll start small
> and gradually add more patches over time.
> 
> This definitely adds a more value to the code where code is not
> repeated for mandatory arguments, which are way less than 9.

Hmm ... I'm not convinced that the approach outlined above will result
in a valuable patch series. I think my objections also apply to the
approach outlined above.

Bart.