On Tue, May 14, 2019 at 05:05:45PM +0800, Ming Lei wrote: > However we still may make it better, for example, the attached patch can > save 10~20% time when running 'mkfs.ntfs -s 512 /dev/vda', lots of small > request(63KB) can be merged to big IO(1MB). And we could save even more time by making the block dev buffered I/O path not do stupid things to start with. > > With the gap devices we have unlimited segment size, see my next patch > > to actually enforce that. Which is much more efficient than using > > But this patch does effect on non-gap device, and actually most of > device are non-gap type. Yes, but only for request merges, and only if merging the requests goes over max_requests. The upside is that we actually get a nr_phys_segments that mirrors what is in the request, fixing bugs in a few drivers, and allowing for follow on patches that significantly simplify our I/O path.