On Mon, Jan 24, 2022 at 02:48:32PM +1100, NeilBrown wrote: > Code that does swap read-ahead uses blk_start_plug() and > blk_finish_plug() to allow lower levels to combine multiple read-ahead > pages into a single request, but calls blk_finish_plug() *before* > submitting the original (non-ahead) read request. > This missed an opportunity to combine read requests. > > This patch moves the blk_finish_plug to *after* all the reads. > This will likely combine the primary read with some of the "ahead" > reads, and that may slightly increase the latency of that read, but it > should more than make up for this by making more efficient use of the > storage path. > > The patch mostly makes the code look more consistent. Performance > change is unlikely to be noticeable. Looks good: Reviewed-by: Christoph Hellwig <hch@xxxxxx> > Fixes-no-auto-backport: 3fb5c298b04e ("swap: allow swap readahead to be merged") Is this really a thing?