Re: [PATCH v3 2/4] pagemap: add mmap-exclusive bit for marking pages mapped only here
From: Naoya Horiguchi <hidden>
Date: 2015-06-17 08:13:53
Also in:
linux-mm, lkml
On Tue, Jun 09, 2015 at 11:00:17PM +0300, Konstantin Khlebnikov wrote:
From: Konstantin Khlebnikov <redacted> This patch sets bit 56 in pagemap if this page is mapped only once. It allows to detect exclusively used pages without exposing PFN: present file exclusive state 0 0 0 non-present 1 1 0 file page mapped somewhere else 1 1 1 file page mapped only here 1 0 0 anon non-CoWed page (shared with parent/child) 1 0 1 anon CoWed page (or never forked) CoWed pages in MAP_FILE|MAP_PRIVATE areas are anon in this context. Mmap-exclusive bit doesn't reflect potential page-sharing via swapcache: page could be mapped once but has several swap-ptes which point to it. Application could detect that by swap bit in pagemap entry and touch that pte via /proc/pid/mem to get real information. Signed-off-by: Konstantin Khlebnikov <redacted> Link: http://lkml.kernel.org/r/CAEVpBa+_RyACkhODZrRvQLs80iy0sqpdrd0AaP_-tgnX3Y9yNQ@mail.gmail.com --- v2: * handle transparent huge pages * invert bit and rename shared -> exclusive (less confusing name) ---
...
quoted hunk ↗ jump to hunk
@@ -1119,6 +1122,13 @@ static int pagemap_pte_range(pmd_t *pmd, unsigned long addr, unsigned long end, else pmd_flags2 = 0; + if (pmd_present(*pmd)) { + struct page *page = pmd_page(*pmd); + + if (page_mapcount(page) == 1) + pmd_flags2 |= __PM_MMAP_EXCLUSIVE; + } +
Could you do the same thing for huge_pte_to_pagemap_entry(), too?
Thanks,
Naoya Horiguchi
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>