linux/mm
Mel Gorman 0c5f83c23c mm: numa: do not clear PTE for pte_numa update
The TLB must be flushed if the PTE is updated but change_pte_range is
clearing the PTE while marking PTEs pte_numa without necessarily
flushing the TLB if it reinserts the same entry.  Without the flush,
it's conceivable that two processors have different TLBs for the same
virtual address and at the very least it would generate spurious faults.

This patch only unmaps the pages in change_pte_range for a full
protection change.

[riel@redhat.com: write pte_numa pte back to the page tables]
Signed-off-by: Mel Gorman <mgorman@suse.de>
Signed-off-by: Rik van Riel <riel@redhat.com>
Reviewed-by: Rik van Riel <riel@redhat.com>
Cc: Alex Thorlton <athorlton@sgi.com>
Cc: Chegu Vinod <chegu_vinod@hp.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2013-12-18 19:04:51 -08:00
..
backing-dev.c
balloon_compaction.c
bootmem.c
bounce.c
cleancache.c
compaction.c
debug-pagealloc.c
dmapool.c
fadvise.c
failslab.c
filemap.c mm: drop actor argument of do_generic_file_read() 2013-11-15 09:32:13 +09:00
filemap_xip.c
fremap.c
frontswap.c
highmem.c
huge_memory.c mm: numa: do not clear PMD during PTE update scan 2013-12-18 19:04:51 -08:00
hugetlb.c mm: hugetlbfs: fix hugetlbfs optimization 2013-11-21 16:42:27 -08:00
hugetlb_cgroup.c
hwpoison-inject.c
init-mm.c
internal.h
interval_tree.c
Kconfig Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2013-11-15 16:47:22 -08:00
Kconfig.debug
kmemcheck.c
kmemleak-test.c
kmemleak.c
ksm.c
list_lru.c
maccess.c
madvise.c
Makefile
memblock.c
memcontrol.c mm: memcg: do not allow task about to OOM kill to bypass the limit 2013-12-12 18:19:26 -08:00
memory-failure.c kfifo API type safety 2013-11-15 09:32:23 +09:00
memory.c Revert "mm: create a separate slab for page->ptl allocation" 2013-11-20 14:41:47 -08:00
memory_hotplug.c
mempolicy.c mm, mempolicy: silence gcc warning 2013-11-21 16:42:27 -08:00
mempool.c
migrate.c mm: numa: call MMU notifiers on THP migration 2013-12-18 19:04:51 -08:00
mincore.c
mlock.c
mm_init.c
mmap.c mm: convert mm->nr_ptes to atomic_long_t 2013-11-15 09:32:14 +09:00
mmu_context.c
mmu_notifier.c
mmzone.c
mprotect.c mm: numa: do not clear PTE for pte_numa update 2013-12-18 19:04:51 -08:00
mremap.c
msync.c
nobootmem.c
nommu.c
oom_kill.c mm: convert mm->nr_ptes to atomic_long_t 2013-11-15 09:32:14 +09:00
page-writeback.c
page_alloc.c
page_cgroup.c
page_io.c
page_isolation.c
pagewalk.c
percpu-km.c
percpu-vm.c
percpu.c
pgtable-generic.c mm: clear pmd_numa before invalidating 2013-12-18 19:04:51 -08:00
process_vm_access.c
quicklist.c
readahead.c
rmap.c mm, hugetlb: convert hugetlbfs to use split pmd lock 2013-11-15 09:32:14 +09:00
shmem.c security: shmem: implement kernel private shmem inodes 2013-12-02 11:24:19 +00:00
slab.c Merge branch 'slab/next' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/linux 2013-11-22 08:10:34 -08:00
slab.h
slab_common.c
slob.c
slub.c Merge branch 'slab/next' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/linux 2013-11-22 08:10:34 -08:00
sparse-vmemmap.c
sparse.c
swap.c mm: hugetlbfs: fix hugetlbfs optimization 2013-11-21 16:42:27 -08:00
swap_state.c
swapfile.c
truncate.c
util.c
vmalloc.c
vmpressure.c
vmscan.c
vmstat.c
zbud.c
zswap.c