[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5c079448-7bb6-4fe8-93a3-620657d2b8eb@kernel.org>
Date: Tue, 6 Jan 2026 16:14:53 +0800
From: Chao Yu <chao@...nel.org>
To: Daeho Jeong <daeho43@...il.com>, linux-kernel@...r.kernel.org,
linux-f2fs-devel@...ts.sourceforge.net, kernel-team@...roid.com
Cc: chao@...nel.org, Daeho Jeong <daehojeong@...gle.com>
Subject: Re: [f2fs-dev] [PATCH] f2fs: flush plug periodically during GC to
maximize readahead effect
On 12/31/2025 1:38 AM, Daeho Jeong wrote:
> From: Daeho Jeong <daehojeong@...gle.com>
>
> During the garbage collection process, F2FS submits readahead I/Os for
> valid blocks. However, since the GC loop runs within a single plug scope
> without intermediate flushing, these readahead I/Os often accumulate in
> the block layer's plug list instead of being dispatched to the device
> immediately.
>
> Consequently, when the GC thread attempts to lock the page later, the
> I/O might not have completed (or even started), leading to a "read try
> and wait" scenario. This negates the benefit of readahead and causes
> unnecessary delays in GC latency.
>
> This patch addresses this issue by introducing an intermediate
> blk_finish_plug() and blk_start_plug() pair within the GC loop. This
> forces the dispatch of pending I/Os, ensuring that readahead pages are
> fetched in time, thereby reducing GC latency.
>
> Signed-off-by: Daeho Jeong <daehojeong@...gle.com>
Reviewed-by: Chao Yu <chao@...nel.org>
Thanks,
Powered by blists - more mailing lists