Re: [PATCH mm-unstable] mm/page_owner: record single timestamp value for high order allocations

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 1/21/23 17:50, Hyeonggon Yoo wrote:
> When allocating a high-order page, separate allocation timestamp is
> recorded for each sub-page resulting in different timestamp values between
> them.
> 
> This behavior is not consistent with the behavior when recording free
> timestamp and caused confusion when analyzing memory dumps. Record single
> timestamp for the entire allocation, aligning with the behavior for
> free timestamps.
> 
> Signed-off-by: Hyeonggon Yoo <42.hyeyoo@xxxxxxxxx>

Acked-by: Vlastimil Babka <vbabka@xxxxxxx>

> ---
>  mm/page_owner.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/mm/page_owner.c b/mm/page_owner.c
> index f0553bedb39d..80dc8f4050fa 100644
> --- a/mm/page_owner.c
> +++ b/mm/page_owner.c
> @@ -163,6 +163,7 @@ static inline void __set_page_owner_handle(struct page_ext *page_ext,
>  {
>  	struct page_owner *page_owner;
>  	int i;
> +	u64 ts_nsec = local_clock();
>  
>  	for (i = 0; i < (1 << order); i++) {
>  		page_owner = get_page_owner(page_ext);
> @@ -172,7 +173,7 @@ static inline void __set_page_owner_handle(struct page_ext *page_ext,
>  		page_owner->last_migrate_reason = -1;
>  		page_owner->pid = current->pid;
>  		page_owner->tgid = current->tgid;
> -		page_owner->ts_nsec = local_clock();
> +		page_owner->ts_nsec = ts_nsec;
>  		strscpy(page_owner->comm, current->comm,
>  			sizeof(page_owner->comm));
>  		__set_bit(PAGE_EXT_OWNER, &page_ext->flags);





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux