[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID:
<SYBP282MB2224E68F688DD74FFEA86AA6B9D52@SYBP282MB2224.AUSP282.PROD.OUTLOOK.COM>
Date: Tue, 25 Jun 2024 14:28:34 +0800
From: zippermonkey <zzippermonkey@...look.com>
To: zhangpengpeng0808@...il.com
Cc: akpm@...ux-foundation.org, bruzzhang@...cent.com,
linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-mm@...ck.org, vernhao@...cent.com, willy@...radead.org,
zigiwang@...cent.com, jack@...e.cz
Subject: Re: [PATCH RFC] mm/readahead: Fix repeat initial_readahead
To illustrate this problem, I created the following example:
Assuming that the process reads sequentially from the beginning of the
file and
calls the `page_cache_sync_readahead` function. In this sync readahead
function,
since the index is 0, it will proceed to `initial_readahead` and initialize
`ra_state`. It allocates a folio with an order of 2 and marks it as
PG_readahead.
Next, because` (folio_test_readahead(folio))` is true, the
page_cache_async_ra
function is called, which causes the `ra_state` to be initialized again.
Powered by blists - more mailing lists