Re: [PATCH] proc: mm: export PTE sizes directly in smaps (v3)

From: Aneesh Kumar K.V
Date: Fri Dec 02 2016 - 10:43:57 EST


Dave Hansen <dave@xxxxxxxx> writes:

> Andrew, you can drop proc-mm-export-pte-sizes-directly-in-smaps-v2.patch,
> and replace it with this.
>
.....

> diff -puN mm/hugetlb.c~smaps-pte-sizes mm/hugetlb.c
> --- a/mm/hugetlb.c~smaps-pte-sizes 2016-11-28 14:21:37.555519365 -0800
> +++ b/mm/hugetlb.c 2016-11-28 14:28:49.186234688 -0800
> @@ -2763,6 +2763,17 @@ void __init hugetlb_add_hstate(unsigned
> huge_page_size(h)/1024);
>
> parsed_hstate = h;
> +
> + /*
> + * PGD_SIZE isn't widely made available by architecures,
> + * so use PUD_SIZE*PTRS_PER_PUD as a substitute.
> + *
> + * Check for sizes that might be mapped by a PGD. There
> + * are none of these known today, but be on the lookout.
> + * If this trips, we will need to update the mss->rss_*
> + * code in fs/proc/task_mmu.c.
> + */
> + WARN_ON_ONCE((PAGE_SIZE << order) >= PUD_SIZE * PTRS_PER_PUD);
> }

This will trip for ppc64 16GB hugepage.

For ppc64 we have the 16G at pgd level.

-aneesh