• Johannes Weiner's avatar
    vmscan: drop page_mapping_inuse() · 31c0569c
    Johannes Weiner authored
    page_mapping_inuse() is a historic predicate function for pages that are
    about to be reclaimed or deactivated.
    
    According to it, a page is in use when it is mapped into page tables OR
    part of swap cache OR backing an mmapped file.
    
    This function is used in combination with page_referenced(), which checks
    for young bits in ptes and the page descriptor itself for the
    PG_referenced bit.  Thus, checking for unmapped swap cache pages is
    meaningless as PG_referenced is not set for anonymous pages and unmapped
    pages do not have young ptes.  The test makes no difference.
    
    Protecting file pages that are not by themselves mapped but are part of a
    mapped file is also a historic leftover for short-lived things like the
    exec() code in libc.  However, the VM now does reference accounting and
    activation of pages at unmap time and thus the special treatment on
    reclaim is obsolete.
    
    This patch drops page_mapping_inuse() and switches the two callsites to
    use page_mapped() directly.
    Signed-off-by: default avatarJohannes Weiner <hannes@cmpxchg.org>
    Reviewed-by: default avatarRik van Riel <riel@redhat.com>
    Cc: Minchan Kim <minchan.kim@gmail.com>
    Cc: OSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
    Cc: Lee Schermerhorn <lee.schermerhorn@hp.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    31c0569c
vmscan.c 80 KB