All of lore.kernel.org
 help / color / mirror / Atom feed
From: Johannes Weiner <hannes@cmpxchg.org>
To: Zenghui Yu <zenghui.yu@linux.dev>
Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org,
	rppt@kernel.org, akpm@linux-foundation.org, vbabka@kernel.org,
	surenb@google.com, mhocko@suse.com, brendan.jackman@linux.dev,
	ziy@nvidia.com
Subject: Re: [PATCH v2] mm/page_alloc: mark pages freed by __free_pages_core() as not tagged
Date: Thu, 22 Oct 2026 13:01:36 -0400	[thread overview]
Message-ID: <atpBcB-9GOfKFVdx@cmpxchg.org> (raw)
In-Reply-To: <20261022122752.74774-1-zenghui.yu@linux.dev>

On Thu, Oct 22, 2026 at 08:27:52PM +0800, Zenghui Yu wrote:
> From: "Zenghui Yu (Huawei)" <zenghui.yu@linux.dev>
> 
> Onlining hotplugged memory (e.g., a dev_dax device bound to kmem) with
> CONFIG_MEM_ALLOC_PROFILING_DEBUG triggers:
> 
>   alloc_tag was not set
>   WARNING: ./include/linux/alloc_tag.h:166 at __pgalloc_tag_sub+0x1fc/0x254
>   Call trace:
>    __pgalloc_tag_sub+0x1fc/0x254 (P)
>    __free_pages_ok+0x14c/0x6ac
>    __free_pages_core+0xa8/0x188
>    generic_online_page+0x14/0x20
>    online_pages+0x220/0x3b0
>    memory_subsys_online+0xfc/0x198
>    device_online+0x58/0xe0
>    state_store+0xf0/0xf8
> 
> Pages entering the buddy through __free_pages_core() have never been
> allocated, so their allocation tag references are NULL.  The free path,
> __free_pages_prepare() -> pgalloc_tag_sub(), expects a valid tag or a
> CODETAG_EMPTY mark and warns otherwise.  Paths feeding never-allocated
> pages into the buddy are therefore expected to mark them with
> clear_page_tag_ref() first, like init_cma_reserved_pageblock() and
> free_reserved_pages() do; of __free_pages_core()'s callers only
> memblock_free_pages() clears the tag ref itself, and the hotplug
> onlining path was missed.
> 
> Since all __free_pages_core() callers free never-allocated pages, mark the
> head page as not tagged in __free_pages_core() itself instead of relying on
> each caller, and drop the now-redundant clearing from
> memblock_free_pages().
> 
> Signed-off-by: Zenghui Yu (Huawei) <zenghui.yu@linux.dev>

Reviewed-by: Johannes Weiner <hannes@cmpxchg.org>


      reply	other threads:[~2026-10-22 17:01 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-22 12:27 [PATCH v2] mm/page_alloc: mark pages freed by __free_pages_core() as not tagged Zenghui Yu
2026-10-22 17:01 ` Johannes Weiner [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=atpBcB-9GOfKFVdx@cmpxchg.org \
    --to=hannes@cmpxchg.org \
    --cc=akpm@linux-foundation.org \
    --cc=brendan.jackman@linux.dev \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mhocko@suse.com \
    --cc=rppt@kernel.org \
    --cc=surenb@google.com \
    --cc=vbabka@kernel.org \
    --cc=zenghui.yu@linux.dev \
    --cc=ziy@nvidia.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.