On 04/14/2017 05:26 AM, Johannes Thumshirn wrote: > On Thu, Apr 13, 2017 at 6:06 PM, Ming Lei <ming.lei@xxxxxxxxxx> wrote: >> Now commit 729204ef49ec("block: relax check on sg gap") >> allows us to merge bios if both are physically contiguous, >> this change can merge huge of small bios in use case of mkfs, >> for example, mkfs.ntfs running time can be decreased to ~1/10. >> >> But if one rq starts with non-aligned buffer(the 1st bvec's >> bv_offset isn't zero) and if we allow to merge, it is quite >> difficult to respect sg gap limit, especially the segment >> can't be at maximum segment size, otherwise the segment >> ends in unaligned virt boundary. This patch trys to avoid the >> issue by not allowing to merge if the req starts with non-aligned >> buffer. >> >> Also add comments to explain why the merged segment can't >> end in unaligned virt boundary. >> >> Fixes: 729204ef49ec ("block: relax check on sg gap") >> Tested-by: Johannes Thumshirn <jthumshirn@xxxxxxx> >> Reviewed-by: Johannes Thumshirn <jthumshirn@xxxxxxx> >> Signed-off-by: Ming Lei <ming.lei@xxxxxxxxxx> >> --- > > > Hi Jens and Omar, > > I know Jens is currently on vacation, but can maybe Omar get this fix to Linus > before v4.11? This would be highly appreciated. I'll pick this up now. I'm back early next week, so we're still fine for 4.11. But I'm glad I pushed back on the original change for 4.10 now. -- Jens Axboe