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

From: Dave Hansen
Date: Mon Nov 28 2016 - 11:52:50 EST


On 11/24/2016 06:22 AM, Vlastimil Babka wrote:
> On 11/17/2016 01:28 AM, Dave Hansen wrote:
>> @@ -702,11 +707,13 @@ static int smaps_hugetlb_range(pte_t *pt
>> }
>> if (page) {
>> int mapcount = page_mapcount(page);
>> + unsigned long hpage_size = huge_page_size(hstate_vma(vma));
>>
>> + mss->rss_pud += hpage_size;
>
> This hardcoded pud doesn't look right, doesn't the pmd/pud depend on
> hpage_size?

Urg, nope. Thanks for noticing that! I think we'll need something
along the lines of:

if (hpage_size == PUD_SIZE)
mss->rss_pud += PUD_SIZE;
else if (hpage_size == PMD_SIZE)
mss->rss_pmd += PMD_SIZE;

I'll respin and resend.