Skip to content
  • Mel Gorman's avatar
    mremap: remove LATENCY_LIMIT from mremap to reduce the number of TLB shootdowns · 37a4094e
    Mel Gorman authored
    Commit 5d190420 ("mremap: fix race between mremap() and page
    cleanning") fixed races between mremap and other operations for both
    file-backed and anonymous mappings.  The file-backed was the most
    critical as it allowed the possibility that data could be changed on a
    physical page after page_mkclean returned which could trigger data loss
    or data integrity issues.
    
    A customer reported that the cost of the TLBs for anonymous regressions
    was excessive and resulting in a 30-50% drop in performance overall
    since this commit on a microbenchmark.  Unfortunately I neither have
    access to the test-case nor can I describe what it does other than
    saying that mremap operations dominate heavily.
    
    This patch removes the LATENCY_LIMIT to handle TLB flushes on a PMD
    boundary instead of every 64 pages to reduce the number of TLB
    shootdowns by a factor of 8 in the ideal case.  LATENCY_LIMIT was almost
    certainly used originally to limit the PT...
    37a4094e