Re: [PATCH] fs/buffer: try to submit writeback bio in unit of page

From: Christoph Hellwig
Date: Mon Jan 04 2021 - 03:45:35 EST


On Wed, Dec 30, 2020 at 08:08:15AM +0800, Ming Lei wrote:
> It is observed that __block_write_full_page() always submit bio with size of block size,
> which is often 512 bytes.
>
> In case of sequential IO, or >=4k BS random/seq writeback IO, most of times IO
> represented by all buffer_head in each page can be done in single bio. It is actually
> done in single request IO by block layer's plug merge too.
>
> So check if IO represented by buffer_head can be merged to single page
> IO, if yes, just submit single bio instead of submitting one bio for each buffer_head.

There is some very weird formatting in here. From a very quick look
the changes look sensible, but I wonder if we should spend so much
time optimizing the legacy buffer_head I/O path, rather than switching
callers to saner helpers.