| From: |
| Bart Van Assche <bvanassche-AT-acm.org> |
| To: |
| Jens Axboe <axboe-AT-kernel.dk> |
| Subject: |
| [PATCH v3 0/6] Enable testing small DMA segment sizes |
| Date: |
| Fri, 27 Mar 2026 14:13:40 -0700 |
| Message-ID: |
| <20260327211349.2239633-1-bvanassche@acm.org> |
| Cc: |
| linux-block-AT-vger.kernel.org, Christoph Hellwig <hch-AT-lst.de>, Damien Le Moal <dlemoal-AT-kernel.org>, Ming Lei <ming.lei-AT-redhat.com>, Bart Van Assche <bvanassche-AT-acm.org> |
| Archive-link: |
| Article |
Hi Jens,
About one year ago support was merged for DMA segment sizes smaller than
the virtual memory page size. No blktests exist yet for the new codepaths
related to small segment size support. This patch series makes it possible
to test these code paths on a system (e.g. a VM) with 4 KiB pages.
The corresponding blktest patch is available here:
https://lore.kernel.org/linux-block/20260323200751.123858...
Please consider this patch series for the next merge window.
Thanks,
Bart.
Changes compared to v2:
- Wrapped an overly long line and fixed the "Fixes:" tag in patch 2.
- Restored the seg_boundary_mask check in patch 3.
- Moved the BLK_MIN_SEGMENT_SIZE constant to a public header file in patch 4.
- Check the max_segment_size value before passing it to the block layer in
patch 5.
- Added a sixth patch for scsi_debug to this series. Because the scsi_debug
patch uses the BLK_MIN_SEGMENT_SIZE constant, it depends on patch 3.
Changes compared to v1:
- Addressed Damien's comment and made the null_blk kernel module parameter more
clear.
- Added three patches to this series: one patch that fixes a source code
comment and two patches that reduce the number of users of the
BLK_MIN_SEGMENT_SIZE constant.
Bart Van Assche (6):
block: Fix a source code comment
block: Fix the max_user_sectors lower bound
block: Fix the DMA segment boundary mask check
block: Reduce the minimum value for the maximum DMA segment size
null_blk: Support configuring the maximum DMA segment size
scsi_debug: Support configuring the maximum segment size
block/blk-settings.c | 15 ++++++-----
block/blk.h | 1 -
drivers/block/null_blk/main.c | 43 +++++++++++++++++++++++++++++++
drivers/block/null_blk/null_blk.h | 1 +
drivers/scsi/scsi_debug.c | 26 ++++++++++++++++++-
include/linux/blkdev.h | 1 +
6 files changed, 78 insertions(+), 9 deletions(-)