mbox series

[v2,0/8] Add support for segments smaller than one page

Message ID 20221123205740.463185-1-bvanassche@acm.org (mailing list archive)
Headers show
Series Add support for segments smaller than one page | expand

Message

Bart Van Assche Nov. 23, 2022, 8:57 p.m. UTC
Hi Jens,

Several embedded storage controllers need support for DMA segments that are
smaller than the size of one virtual memory page. Hence this patch series.
Please consider this patch series for the next merge window.

Thanks,

Bart.

Changes compared to v1:
- Added a CONFIG variable that controls whether or not small segment support
  is enabled.
- Improved patch descriptions.

Bart Van Assche (8):
  block: Introduce CONFIG_BLK_SUB_PAGE_SEGMENTS and
    QUEUE_FLAG_SUB_PAGE_SEGMENTS
  block: Support configuring limits below the page size
  block: Support submitting passthrough requests with small segments
  block: Add support for filesystem requests and small segments
  block: Add support for small segments in blk_rq_map_user_iov()
  scsi: core: Set the SUB_PAGE_SEGMENTS request queue flag
  scsi_debug: Support configuring the maximum segment size
  null_blk: Support configuring the maximum segment size

 block/Kconfig                     |  9 +++++++
 block/blk-map.c                   | 43 ++++++++++++++++++++++++++-----
 block/blk-merge.c                 |  6 +++--
 block/blk-mq.c                    |  2 ++
 block/blk-settings.c              | 20 ++++++++------
 block/blk.h                       | 14 +++++++++-
 drivers/block/null_blk/main.c     | 20 +++++++++++---
 drivers/block/null_blk/null_blk.h |  1 +
 drivers/scsi/scsi_debug.c         |  3 +++
 drivers/scsi/scsi_lib.c           |  2 ++
 include/linux/blkdev.h            |  7 +++++
 11 files changed, 107 insertions(+), 20 deletions(-)