• Konstantin Khlebnikov's avatar
    pagemap: add mmap-exclusive bit for marking pages mapped only here · 77bb499b
    Konstantin Khlebnikov authored
    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.
    
    See http://lkml.kernel.org/r/CAEVpBa+_RyACkhODZrRvQLs80iy0sqpdrd0AaP_-tgnX3Y9yNQ@mail.gmail.com
    
    Requested by Mark Williamson.
    
    [akpm@linux-foundation.org: fix spello]
    Signed-off-by:...
    77bb499b
task_mmu.c 37.2 KB