Hi Jens, We (Android team) would like to support storage controllers with a segment size of 4 KiB in combination with a 16 KiB page size. Hence this patch series that adds supports for DMA segments smaller than the page size. In addition a few cleanup patches for the block layer are included. Please consider this patch series for the kernel v6.2 merge window. Thanks, Bart. Bart Van Assche (10): block: Remove request.write_hint block: Constify most queue limits pointers block: Micro-optimize get_max_segment_size() block: Add support for small segments in blk_rq_map_user_iov() block: Introduce QUEUE_FLAG_SUB_PAGE_SEGMENTS block: Fix the number of segment calculations block: Add support for segments smaller than the page size 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/blk-map.c | 43 +++++++++++++++++++++----- block/blk-merge.c | 50 +++++++++++++++++++------------ block/blk-mq.c | 2 ++ block/blk-settings.c | 16 +++++----- block/blk.h | 17 +++++++---- 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/blk-mq.h | 1 - include/linux/blkdev.h | 3 ++ 11 files changed, 115 insertions(+), 43 deletions(-)