diff mbox series

[1/5] mm/page_owner: Remove free_ts from page_owner output

Message ID 20231013190350.579407-2-audra@redhat.com (mailing list archive)
State New
Headers show
Series Fix page_owner's use of free timestamps | expand

Commit Message

Audra Mitchell Oct. 13, 2023, 7:03 p.m. UTC
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@redhat.com>
---
 mm/page_owner.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Vlastimil Babka Oct. 17, 2023, 8:07 a.m. UTC | #1
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@redhat.com>

Reviewed-by: Vlastimil Babka <vbabka@suse.cz>

> ---
>  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);
diff mbox series

Patch

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);