lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <763d778a-2637-39e0-bcde-265055cf1c18@suse.cz>
Date:   Mon, 28 Nov 2016 22:07:07 +0100
From:   Vlastimil Babka <vbabka@...e.cz>
To:     Dave Hansen <dave@...1.net>, linux-kernel@...r.kernel.org
Cc:     hch@....de, akpm@...ux-foundation.org, dan.j.williams@...el.com,
        khandual@...ux.vnet.ibm.com, linux-mm@...ck.org
Subject: Re: [PATCH] proc: mm: export PTE sizes directly in smaps (v2)

On 11/28/2016 05:52 PM, Dave Hansen wrote:
> 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;

Sounds better, although I wonder whether there are some weird arches
supporting hugepage sizes that don't match page table levels. I recall
that e.g. MIPS could do arbitrary size, but dunno if the kernel supports
that...

> I'll respin and resend.
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ