On Wed, Jul 16, 2025 at 02:02:41AM +0800, colyli@xxxxxxxxxx wrote: > From: Coly Li <colyli@xxxxxxxxxx> > > Currently in md_submit_bio() the incoming request bio is split by > bio_split_to_limits() which makes sure the bio won't exceed > max_hw_sectors of a specific raid level before senting into its > .make_request method. > > For raid level 4/5/6 such split method might be problematic and hurt > large read/write perforamnce. Because limits.max_hw_sectors are not > always aligned to limits.io_opt size, the split bio won't be full > stripes covered on all data disks, and will introduce extra read-in I/O. > Even the bio's bi_sector is aligned to limits.io_opt size and large > enough, the resulted split bio is not size-friendly to corresponding > raid456 level. So why don't you set a sane max_hw_sectors value instead of duplicating the splitting logic?