From: Ye Liu <ye.liu@linux.dev>
To: "Vlastimil Babka (SUSE)" <vbabka@kernel.org>,
Andrew Morton <akpm@linux-foundation.org>
Cc: Suren Baghdasaryan <surenb@google.com>,
Michal Hocko <mhocko@suse.com>,
Brendan Jackman <jackmanb@google.com>,
Johannes Weiner <hannes@cmpxchg.org>, Zi Yan <ziy@nvidia.com>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/6] mm/page_owner: extract skip_buddy_pages() helper to unify buddy page skipping
Date: Thu, 25 Jun 2026 15:31:08 +0800 [thread overview]
Message-ID: <43a99a8b-3c27-40a1-bcc1-77112eee6c15@linux.dev> (raw)
In-Reply-To: <b2e7646d-346b-4eb8-aecc-d70fad3a28f7@kernel.org>
在 2026/6/25 15:13, Vlastimil Babka (SUSE) 写道:
> On 6/25/26 02:20, Andrew Morton wrote:
>> On Tue, 23 Jun 2026 14:52:26 +0800 Ye Liu <ye.liu@linux.dev> wrote:
>>
>>> Three places in page_owner.c duplicate the same pattern: check if a
>>> page is PageBuddy, read its order via buddy_order_unsafe(), advance
>>> the pfn past the buddy block if the order is valid, and continue.
>>>
>>> Consolidate them into a single inline helper skip_buddy_pages().
>>> The function returns true (skip) for any buddy page and advances
>>> @pfn past the block when the order is valid; returns false if the
>>> page is not a buddy page and should be processed normally.
>>>
>>> The old init_pages_in_zone() variant used "order > 0" as an extra
>>> guard before advancing pfn, but the continue was unconditional and
>>> (1UL << 0) - 1 == 0, so the behaviour is identical. The comment
>>> about zone->lock is preserved in the helper's kernel-doc.
>>
>> All looks nice, thanks.
>
> I got a bunch of "added to mm-hotfixes-unstable branch" mails, but this
> seems like cleanups and nothing urgent? Was that intended?
>
>> A [0/N] cover letter is nice to have.
>
> Seems like it exists, but wasn't delivered. Lore shows its message id, but
> as missing.
Apologies, I accidentally sent the cover letter only to my own address.
I'll ensure it goes to the mailing list in future submissions.
Thanks for pointing it out.
Subject: [PATCH 0/6] mm/page_owner: misc cleanups
Hi,
This series collects a few cleanups for mm/page_owner.c that have been
accumulated while reading through the file. There is no functional
change -- the goal is to make the code easier to read and maintain.
Patch 1 consolidates three identical PageBuddy skip blocks into a
single skip_buddy_pages() helper, eliminating the duplication and
keeping the lockless-read comment in one place.
Patch 2 replaces the -1 magic number used for "never migrated" with
a local MIGRATE_REASON_NONE define, making the intent explicit at
every use site.
Patch 3 hoists the CONFIG_MEMCG guard out of print_page_owner_memcg()'s
body so that the real implementation and the empty stub are two clearly
separate definitions, the common kernel idiom.
Patch 4 adds a missing \n to the count_threshold debugfs attribute
format string so that cat(1) output is properly terminated.
Patch 5 moves free_ts_nsec from the allocation summary line to the
free section in __dump_page_owner(), grouping it with free_pid and
free_tgid where it logically belongs. This also makes the dump
output consistent with print_page_owner().
Patch 6 drops the redundant page_owner_ prefix from file-scoped static
symbols (stack_fops, threshold_fops, etc.). Since they cannot collide
across translation units, the prefix carries no information.
The series is based on v6.17-rc1 and has been compile-tested with and
without CONFIG_MEMCG.
Ye Liu (6):
mm/page_owner: extract skip_buddy_pages() helper to unify buddy page
skipping
mm/page_owner: use MIGRATE_REASON_NONE instead of -1 for
last_migrate_reason
mm/page_owner: hoist CONFIG_MEMCG to function level for
print_page_owner_memcg()
mm/page_owner: add missing newline to count_threshold format string
mm/page_owner: move free_ts_nsec output to free section in
__dump_page_owner()
mm/page_owner: drop redundant page_owner prefix from static symbols
mm/page_owner.c | 121 +++++++++++++++++++++++++++---------------------
1 file changed, 67 insertions(+), 54 deletions(-)
>
>> AI review identified a few possible pre-existing issues, if you're
>> interested:
>> https://sashiko.dev/#/patchset/20260623065234.31866-2-ye.liu@linux.dev
>>
>
--
Thanks,
Ye Liu
next prev parent reply other threads:[~2026-06-25 7:31 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20260623065234.31866-1-ye.liu@linux.dev>
2026-06-23 6:52 ` [PATCH 1/6] mm/page_owner: extract skip_buddy_pages() helper to unify buddy page skipping Ye Liu
2026-06-25 0:20 ` Andrew Morton
2026-06-25 7:13 ` Vlastimil Babka (SUSE)
2026-06-25 7:31 ` Ye Liu [this message]
2026-06-23 6:52 ` [PATCH 2/6] mm/page_owner: use MIGRATE_REASON_NONE instead of -1 for last_migrate_reason Ye Liu
2026-06-23 6:52 ` [PATCH 3/6] mm/page_owner: hoist CONFIG_MEMCG to function level for print_page_owner_memcg() Ye Liu
2026-06-23 6:52 ` [PATCH 4/6] mm/page_owner: add missing newline to count_threshold format string Ye Liu
2026-06-23 6:52 ` [PATCH 5/6] mm/page_owner: move free_ts_nsec output to free section in __dump_page_owner() Ye Liu
2026-06-23 6:52 ` [PATCH 6/6] mm/page_owner: drop redundant page_owner prefix from static symbols Ye Liu
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=43a99a8b-3c27-40a1-bcc1-77112eee6c15@linux.dev \
--to=ye.liu@linux.dev \
--cc=akpm@linux-foundation.org \
--cc=hannes@cmpxchg.org \
--cc=jackmanb@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mhocko@suse.com \
--cc=surenb@google.com \
--cc=vbabka@kernel.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox