• Rik van Riel's avatar
    sched/numa, mm: Revert to checking pmd/pte_write instead of VMA flags · d59dc7bc
    Rik van Riel authored
    Commit:
    
      4d942466 ("mm: convert p[te|md]_mknonnuma and remaining page table manipulations")
    
    changed NUMA balancing from _PAGE_NUMA to using PROT_NONE, and was quickly
    found to introduce a regression with NUMA grouping.
    
    It was followed up by these commits:
    
     53da3bc2 ("mm: fix up numa read-only thread grouping logic")
     bea66fbd ("mm: numa: group related processes based on VMA flags instead of page table flags")
     b191f9b1 ("mm: numa: preserve PTE write permissions across a NUMA hinting fault")
    
    The first of those two commits try alternate approaches to NUMA
    grouping, which apparently do not work as well as looking at the PTE
    write permissions.
    
    The latter patch preserves the PTE write permissions across a NUMA
    protection fault. However, it forgets to revert the condition for
    whether or not to group tasks together back to what it was before
    v3.19, even though the information is now preserved in the page tables
    once again.
    
    This patch brings the NUMA grouping heuristic back to what it was
    before commit 4d942466, which the changelogs of subsequent
    commits suggest worked best.
    
    We have all the information again. We should probably use it.
    Signed-off-by: default avatarRik van Riel <riel@redhat.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: aarcange@redhat.com
    Cc: linux-mm@kvack.org
    Cc: mgorman@suse.de
    Link: http://lkml.kernel.org/r/20160908213053.07c992a9@annuminas.surriel.comSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
    d59dc7bc
memory.c 110 KB