mm/page_alloc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
get_pfnblock_migratetype() is called from outside page_alloc.c, so it
cannot always be inlined. Remove the annotation to avoid misleading
readers.
At least in my minimal config, with GCC, this doesn't change
mm/page_alloc.o at all.
Suggested-by: Vlastimil Babka <vbabka@kernel.org>
Link: https://lore.kernel.org/all/016c8bef-57ef-44ef-bf60-86dbfd368dcd@kernel.org/
Signed-off-by: Brendan Jackman <jackmanb@google.com>
---
mm/page_alloc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index e262d1316259d..be7f5671d421c 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -434,7 +434,7 @@ bool get_pfnblock_bit(const struct page *page, unsigned long pfn,
* Use get_pfnblock_migratetype() if caller already has both @page and @pfn
* to save a call to page_to_pfn().
*/
-__always_inline enum migratetype
+enum migratetype
get_pfnblock_migratetype(const struct page *page, unsigned long pfn)
{
unsigned long mask = MIGRATETYPE_AND_ISO_MASK;
---
base-commit: 0cec77cfd5314c0b3b03530abe1a4b32e991f639
change-id: 20260517-b4-drop-always-inline-17702081c2aa
Best regards,
--
Brendan Jackman <jackmanb@google.com>
On Sun, May 17, 2026 at 11:37:05PM +0000, Brendan Jackman wrote: > get_pfnblock_migratetype() is called from outside page_alloc.c, so it > cannot always be inlined. Remove the annotation to avoid misleading > readers. > > At least in my minimal config, with GCC, this doesn't change > mm/page_alloc.o at all. > > Suggested-by: Vlastimil Babka <vbabka@kernel.org> > Link: https://lore.kernel.org/all/016c8bef-57ef-44ef-bf60-86dbfd368dcd@kernel.org/ > Signed-off-by: Brendan Jackman <jackmanb@google.com> > --- Reviewed-by: Vishal Moola <vishal.moola@gmail.com>
On 5/18/26 01:37, Brendan Jackman wrote:
> get_pfnblock_migratetype() is called from outside page_alloc.c, so it
> cannot always be inlined. Remove the annotation to avoid misleading
> readers.
>
> At least in my minimal config, with GCC, this doesn't change
> mm/page_alloc.o at all.
>
> Suggested-by: Vlastimil Babka <vbabka@kernel.org>
> Link: https://lore.kernel.org/all/016c8bef-57ef-44ef-bf60-86dbfd368dcd@kernel.org/
> Signed-off-by: Brendan Jackman <jackmanb@google.com>
Reviewed-by: Vlastimil Babka (SUSE) <vbabka@kernel.org>
> ---
> mm/page_alloc.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> index e262d1316259d..be7f5671d421c 100644
> --- a/mm/page_alloc.c
> +++ b/mm/page_alloc.c
> @@ -434,7 +434,7 @@ bool get_pfnblock_bit(const struct page *page, unsigned long pfn,
> * Use get_pfnblock_migratetype() if caller already has both @page and @pfn
> * to save a call to page_to_pfn().
> */
> -__always_inline enum migratetype
> +enum migratetype
> get_pfnblock_migratetype(const struct page *page, unsigned long pfn)
> {
> unsigned long mask = MIGRATETYPE_AND_ISO_MASK;
>
> ---
> base-commit: 0cec77cfd5314c0b3b03530abe1a4b32e991f639
> change-id: 20260517-b4-drop-always-inline-17702081c2aa
>
> Best regards,
On Sun, 17 May 2026 23:37:05 +0000 Brendan Jackman <jackmanb@google.com> wrote: > get_pfnblock_migratetype() is called from outside page_alloc.c, so it > cannot always be inlined. Remove the annotation to avoid misleading > readers. Makes sense. > > At least in my minimal config, with GCC, this doesn't change > mm/page_alloc.o at all. Same on my setup. > > Suggested-by: Vlastimil Babka <vbabka@kernel.org> > Link: https://lore.kernel.org/all/016c8bef-57ef-44ef-bf60-86dbfd368dcd@kernel.org/ > Signed-off-by: Brendan Jackman <jackmanb@google.com> Reviewed-by: SeongJae Park <sj@kernel.org> Thanks, SJ [...]
On Sun, May 17, 2026 at 11:37:05PM +0000, Brendan Jackman wrote: > get_pfnblock_migratetype() is called from outside page_alloc.c, so it > cannot always be inlined. Remove the annotation to avoid misleading > readers. > > At least in my minimal config, with GCC, this doesn't change > mm/page_alloc.o at all. > > Suggested-by: Vlastimil Babka <vbabka@kernel.org> > Link: https://lore.kernel.org/all/016c8bef-57ef-44ef-bf60-86dbfd368dcd@kernel.org/ > Signed-off-by: Brendan Jackman <jackmanb@google.com> Acked-by: Johannes Weiner <hannes@cmpxchg.org>
On 18 May 2026, at 7:37, Brendan Jackman wrote:
> get_pfnblock_migratetype() is called from outside page_alloc.c, so it
> cannot always be inlined. Remove the annotation to avoid misleading
> readers.
I probably did a copy-paste last time.
> At least in my minimal config, with GCC, this doesn't change
> mm/page_alloc.o at all.
>
> Suggested-by: Vlastimil Babka <vbabka@kernel.org>
> Link: https://lore.kernel.org/all/016c8bef-57ef-44ef-bf60-86dbfd368dcd@kernel.org/
> Signed-off-by: Brendan Jackman <jackmanb@google.com>
> ---
> mm/page_alloc.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> index e262d1316259d..be7f5671d421c 100644
> --- a/mm/page_alloc.c
> +++ b/mm/page_alloc.c
> @@ -434,7 +434,7 @@ bool get_pfnblock_bit(const struct page *page, unsigned long pfn,
> * Use get_pfnblock_migratetype() if caller already has both @page and @pfn
> * to save a call to page_to_pfn().
> */
> -__always_inline enum migratetype
> +enum migratetype
> get_pfnblock_migratetype(const struct page *page, unsigned long pfn)
> {
> unsigned long mask = MIGRATETYPE_AND_ISO_MASK;
LGTM. Thanks.
Reviewed-by: Zi Yan <ziy@nvidia.com>
>
> ---
> base-commit: 0cec77cfd5314c0b3b03530abe1a4b32e991f639
> change-id: 20260517-b4-drop-always-inline-17702081c2aa
>
> Best regards,
> --
> Brendan Jackman <jackmanb@google.com>
Best Regards,
Yan, Zi
© 2016 - 2026 Red Hat, Inc.