On 10/13/23 21:03, Audra Mitchell wrote: > When printing page_owner data via the sysfs interface, no free pages will > ever be dumped due to the series of checks in read_page_owner(): > > /* > * Although we do have the info about past allocation of free > * pages, it's not relevant for current memory usage. > */ > if (!test_bit(PAGE_EXT_OWNER_ALLOCATED, &page_ext->flags)) > > The free_ts values are still used when dump_page_owner() is called, so > keeping the field for other use cases but removing them for the typical > page_owner case. > > Fixes: 866b48526217 ("mm/page_owner: record the timestamp of all pages during free") > Signed-off-by: Audra Mitchell <audra@xxxxxxxxxx> Reviewed-by: Vlastimil Babka <vbabka@xxxxxxx> > --- > mm/page_owner.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/mm/page_owner.c b/mm/page_owner.c > index 4e2723e1b300..4f13ce7d2452 100644 > --- a/mm/page_owner.c > +++ b/mm/page_owner.c > @@ -408,11 +408,11 @@ print_page_owner(char __user *buf, size_t count, unsigned long pfn, > return -ENOMEM; > > ret = scnprintf(kbuf, count, > - "Page allocated via order %u, mask %#x(%pGg), pid %d, tgid %d (%s), ts %llu ns, free_ts %llu ns\n", > + "Page allocated via order %u, mask %#x(%pGg), pid %d, tgid %d (%s), ts %llu ns\n", > page_owner->order, page_owner->gfp_mask, > &page_owner->gfp_mask, page_owner->pid, > page_owner->tgid, page_owner->comm, > - page_owner->ts_nsec, page_owner->free_ts_nsec); > + page_owner->ts_nsec); > > /* Print information relevant to grouping pages by mobility */ > pageblock_mt = get_pageblock_migratetype(page);