On 6/17/25 23:52, Ming Lei wrote: > On Tue, Jun 17, 2025 at 03:34:30PM +0900, Damien Le Moal wrote: >> Back in 2015, commit d2be537c3ba3 ("block: bump BLK_DEF_MAX_SECTORS to >> 2560") increased the default maximum size of a block device I/O to 2560 >> sectors (1280 KiB) to "accommodate a 10-data-disk stripe write with >> chunk size 128k". This choice is rather arbitrary and since then, >> improvements to the block layer have software RAID drivers correctly >> advertize their stripe width through chunk_sectors and abuses of >> BLK_DEF_MAX_SECTORS_CAP by drivers (to set the HW limit rather than the >> default user controlled maximum I/O size) have been fixed. >> >> Since many block devices can benefit from a larger value of >> BLK_DEF_MAX_SECTORS_CAP, and in particular HDDs, increase this value to >> be 4MiB, or 8192 sectors. >> >> Suggested-by: Martin K . Petersen <martin.petersen@xxxxxxxxxx> >> Signed-off-by: Damien Le Moal <dlemoal@xxxxxxxxxx> >> --- >> include/linux/blkdev.h | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h >> index 85aab8bc96e7..7c35b2462048 100644 >> --- a/include/linux/blkdev.h >> +++ b/include/linux/blkdev.h >> @@ -1238,7 +1238,7 @@ enum blk_default_limits { >> * Not to be confused with the max_hw_sector limit that is entirely >> * controlled by the driver, usually based on hardware limits. >> */ >> -#define BLK_DEF_MAX_SECTORS_CAP 2560u >> +#define BLK_DEF_MAX_SECTORS_CAP 8192u > > The change itself looks good, but the definition should belong to block > layer internal, so why not move it into internal header? Good point. Now that no driver uses this macro directly, we can do that. I will send a V2. -- Damien Le Moal Western Digital Research