diff options
author | Mel Gorman <mgorman@suse.de> | 2014-10-02 19:47:42 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-10-09 12:21:27 -0700 |
commit | 5f50c44d8a63ee6c4801cdcb372b8048ac77efcf (patch) | |
tree | 578553a467e28ab5d35bbb515c218f6bbd031d3d /mm/nommu.c | |
parent | 1da286ebc5a1d23d0b4b88ba0d64fc141ac4c37d (diff) | |
download | lwn-5f50c44d8a63ee6c4801cdcb372b8048ac77efcf.tar.gz lwn-5f50c44d8a63ee6c4801cdcb372b8048ac77efcf.zip |
mm: numa: Do not mark PTEs pte_numa when splitting huge pages
commit abc40bd2eeb77eb7c2effcaf63154aad929a1d5f upstream.
This patch reverts 1ba6e0b50b ("mm: numa: split_huge_page: transfer the
NUMA type from the pmd to the pte"). If a huge page is being split due
a protection change and the tail will be in a PROT_NONE vma then NUMA
hinting PTEs are temporarily created in the protected VMA.
VM_RW|VM_PROTNONE
|-----------------|
^
split here
In the specific case above, it should get fixed up by change_pte_range()
but there is a window of opportunity for weirdness to happen. Similarly,
if a huge page is shrunk and split during a protection update but before
pmd_numa is cleared then a pte_numa can be left behind.
Instead of adding complexity trying to deal with the case, this patch
will not mark PTEs NUMA when splitting a huge page. NUMA hinting faults
will not be triggered which is marginal in comparison to the complexity
in dealing with the corner cases during THP split.
Signed-off-by: Mel Gorman <mgorman@suse.de>
Acked-by: Rik van Riel <riel@redhat.com>
Acked-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'mm/nommu.c')
0 files changed, 0 insertions, 0 deletions