Re: [RFC v2 04/14] readahead: set file_ra_state->ra_pages to be at least mapping_min_order

Darrick J. Wong
2024-02-13T16:46:35Z

On Tue, Feb 13, 2024 at 10:37:03AM +0100, Pankaj Raghav (Samsung) wrote:
> From: Luis Chamberlain <mcgrof@kernel.org>
>
> Set the file_ra_state->ra_pages in file_ra_state_init() to be at least
> mapping_min_order of pages if the bdi->ra_pages is less than that.
>
> Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>

Looks good to me,
Acked-by: Darrick J. Wong <djwong@kernel.org>

--D

> ---
> mm/readahead.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/mm/readahead.c b/mm/readahead.c
> index 2648ec4f0494..4fa7d0e65706 100644
> --- a/mm/readahead.c
> +++ b/mm/readahead.c
> @@ -138,7 +138,12 @@
> void
> file_ra_state_init(struct file_ra_state *ra, struct address_space *mapping)
> {
> + unsigned int min_nrpages = mapping_min_folio_nrpages(mapping);
> + unsigned int max_pages = inode_to_bdi(mapping->host)->io_pages;
> +
> ra->ra_pages = inode_to_bdi(mapping->host)->ra_pages;
> + if (ra->ra_pages < min_nrpages && min_nrpages < max_pages)
> + ra->ra_pages = min_nrpages;
> ra->prev_pos = -1;
> }
> EXPORT_SYMBOL_GPL(file_ra_state_init);
> --
> 2.43.0
>
>