summaryrefslogtreecommitdiff
path: root/mm/hugetlb.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2015-10-08 10:52:18 +0200
committerIngo Molnar <mingo@kernel.org>2015-10-08 10:52:18 +0200
commitd3df65c198dc2f1deefb73c8427b04d1bdd1b18d (patch)
treef348c249146e2a1bbe2040ebecb0c529f5449b84 /mm/hugetlb.c
parent712df65ccb63da08a484bf57c40b250dfd4103a7 (diff)
parent00e6fa5fe15c0eccc95a9d1afc4615e467ee8dc9 (diff)
Merge branch 'perf/urgent' into perf/core, before pulling new changes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'mm/hugetlb.c')
-rw-r--r--mm/hugetlb.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/mm/hugetlb.c b/mm/hugetlb.c
index 999fb0aef8f1..9cc773483624 100644
--- a/mm/hugetlb.c
+++ b/mm/hugetlb.c
@@ -3202,6 +3202,14 @@ static void unmap_ref_private(struct mm_struct *mm, struct vm_area_struct *vma,
continue;
/*
+ * Shared VMAs have their own reserves and do not affect
+ * MAP_PRIVATE accounting but it is possible that a shared
+ * VMA is using the same page so check and skip such VMAs.
+ */
+ if (iter_vma->vm_flags & VM_MAYSHARE)
+ continue;
+
+ /*
* Unmap the page from other VMAs without their own reserves.
* They get marked to be SIGKILLed if they fault in these
* areas. This is because a future no-page fault on this VMA