[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <62b63df7-aafc-4ec1-bdca-8a9c12365f9f@lucifer.local>
Date: Thu, 21 Aug 2025 17:38:35 +0100
From: Lorenzo Stoakes <lorenzo.stoakes@...cle.com>
To: Brendan Jackman <jackmanb@...gle.com>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
David Hildenbrand <david@...hat.com>,
"Liam R. Howlett" <Liam.Howlett@...cle.com>,
Vlastimil Babka <vbabka@...e.cz>, Mike Rapoport <rppt@...nel.org>,
Suren Baghdasaryan <surenb@...gle.com>, Michal Hocko <mhocko@...e.com>,
Johannes Weiner <hannes@...xchg.org>, Zi Yan <ziy@...dia.com>,
linux-mm@...ck.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] mm: Remove is_migrate_highatomic()
On Thu, Aug 21, 2025 at 01:29:47PM +0000, Brendan Jackman wrote:
> There are 3 potential reasons for is_migrate_*() helpers:
>
> 1. They represent higher-level attributes of migratetypes, like
> is_migrate_movable()
>
> 2. They are ifdef'd, like is_migrate_isolate().
>
> 3. For consistency with an is_migrate_*_page() helper, also like
> is_migrate_isolate().
>
> It looks like is_migrate_highatomic() was for case 3, but that was
> removed in commit e0932b6c1f94 ("mm: page_alloc: consolidate free page
> accounting").
>
> So remove the indirection and go back to a simple comparison.
>
> Signed-off-by: Brendan Jackman <jackmanb@...gle.com>
LGTM, so:
Reviewed-by: Lorenzo Stoakes <lorenzo.stoakes@...cle.com>
> ---
> mm/internal.h | 5 -----
> mm/page_alloc.c | 2 +-
> 2 files changed, 1 insertion(+), 6 deletions(-)
>
> diff --git a/mm/internal.h b/mm/internal.h
> index 45b725c3dc030cb22a3cb0ddb262b6300e65ed5a..45da9ff5694f628db18f740718f0a7a06c4548f0 100644
> --- a/mm/internal.h
> +++ b/mm/internal.h
> @@ -1333,11 +1333,6 @@ extern const struct trace_print_flags pageflag_names[];
> extern const struct trace_print_flags vmaflag_names[];
> extern const struct trace_print_flags gfpflag_names[];
>
> -static inline bool is_migrate_highatomic(enum migratetype migratetype)
> -{
> - return migratetype == MIGRATE_HIGHATOMIC;
> -}
> -
> void setup_zone_pageset(struct zone *zone);
>
> struct migration_target_control {
> diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> index ca9e6b9633f79ff28448a6008749fa6ca2696332..baead29b3e67bb3ae2291b00d7632aaf87ebcc4c 100644
> --- a/mm/page_alloc.c
> +++ b/mm/page_alloc.c
> @@ -797,7 +797,7 @@ static inline void account_freepages(struct zone *zone, int nr_pages,
>
> if (is_migrate_cma(migratetype))
> __mod_zone_page_state(zone, NR_FREE_CMA_PAGES, nr_pages);
> - else if (is_migrate_highatomic(migratetype))
> + else if (migratetype == MIGRATE_HIGHATOMIC)
> WRITE_ONCE(zone->nr_free_highatomic,
> zone->nr_free_highatomic + nr_pages);
> }
>
> ---
> base-commit: 5654520c361a6638f9d9e889257dfce38c83f653
> change-id: 20250821-is-migrate-highatomic-871c0ff05a84
>
> Best regards,
> --
> Brendan Jackman <jackmanb@...gle.com>
>
Powered by blists - more mailing lists