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. > -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>