Re: [PATCH v2 5/6] mm/page_owner: move free_ts_nsec output to free section in __dump_page_owner()

From: Zi Yan

Date: Fri Jun 26 2026 - 14:55:36 EST


On Thu Jun 25, 2026 at 10:45 PM EDT, Ye Liu wrote:
> The free_ts_nsec field is a free-event timestamp, but it was printed
> in the allocation summary line alongside ts_nsec (allocation time).
> Move it to the free section where it logically belongs, together with
> free_pid and free_tgid. This also makes __dump_page_owner() consistent
> with print_page_owner(), which only prints ts_nsec in the allocation
> summary.
>
> The output now groups all free-related information (pid, tgid,
> timestamp, stack trace) in one place.
>
> No functional change except output formatting.
>
> Signed-off-by: Ye Liu <ye.liu@xxxxxxxxx>
> ---
> mm/page_owner.c | 9 +++++----
> 1 file changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/mm/page_owner.c b/mm/page_owner.c
> index 958151ccb587..eaccff355cb4 100644
> --- a/mm/page_owner.c
> +++ b/mm/page_owner.c
> @@ -660,10 +660,10 @@ void __dump_page_owner(const struct page *page)
> else
> pr_alert("page_owner tracks the page as freed\n");
>
> - pr_alert("page last allocated via order %u, migratetype %s, gfp_mask %#x(%pGg), pid %d, tgid %d (%s), ts %llu, free_ts %llu\n",
> + pr_alert("page last allocated via order %u, migratetype %s, gfp_mask %#x(%pGg), pid %d, tgid %d (%s), ts %llu\n",

Is it going to break existing programs parsing this information? This is
under debugfs, so probably does not matter?

> page_owner->order, migratetype_names[mt], gfp_mask, &gfp_mask,
> page_owner->pid, page_owner->tgid, page_owner->comm,
> - page_owner->ts_nsec, page_owner->free_ts_nsec);
> + page_owner->ts_nsec);
>
> handle = READ_ONCE(page_owner->handle);
> if (!handle)
> @@ -675,8 +675,9 @@ void __dump_page_owner(const struct page *page)
> if (!handle) {
> pr_alert("page_owner free stack trace missing\n");
> } else {
> - pr_alert("page last free pid %d tgid %d stack trace:\n",
> - page_owner->free_pid, page_owner->free_tgid);
> + pr_alert("page last free pid %d tgid %d ts %llu stack trace:\n",
> + page_owner->free_pid, page_owner->free_tgid,
> + page_owner->free_ts_nsec);
> stack_depot_print(handle);
> }
>




--
Best Regards,
Yan, Zi