mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-08 12:58:12 -04:00
Revert "ANDROID: mm: remove sequence counting when mmap_lock is not exclusively owned"
This reverts commit ad939deb18.
Change-Id: I210d9aa077b3b68916166d2b5265ef0600c5e3bb
Signed-off-by: Alexander Winkowski <dereference23@outlook.com>
This commit is contained in:
parent
1185e5aca1
commit
924ed5256e
3 changed files with 10 additions and 0 deletions
|
|
@ -501,9 +501,11 @@ static void madvise_cold_page_range(struct mmu_gather *tlb,
|
|||
.target_task = task,
|
||||
};
|
||||
|
||||
vm_write_begin(vma);
|
||||
tlb_start_vma(tlb, vma);
|
||||
walk_page_range(vma->vm_mm, addr, end, &cold_walk_ops, &walk_private);
|
||||
tlb_end_vma(tlb, vma);
|
||||
vm_write_end(vma);
|
||||
}
|
||||
|
||||
static long madvise_cold(struct task_struct *task,
|
||||
|
|
@ -537,9 +539,11 @@ static void madvise_pageout_page_range(struct mmu_gather *tlb,
|
|||
.target_task = task,
|
||||
};
|
||||
|
||||
vm_write_begin(vma);
|
||||
tlb_start_vma(tlb, vma);
|
||||
walk_page_range(vma->vm_mm, addr, end, &cold_walk_ops, &walk_private);
|
||||
tlb_end_vma(tlb, vma);
|
||||
vm_write_end(vma);
|
||||
}
|
||||
|
||||
static inline bool can_do_pageout(struct vm_area_struct *vma)
|
||||
|
|
@ -742,10 +746,12 @@ static int madvise_free_single_vma(struct vm_area_struct *vma,
|
|||
update_hiwater_rss(mm);
|
||||
|
||||
mmu_notifier_invalidate_range_start(&range);
|
||||
vm_write_begin(vma);
|
||||
tlb_start_vma(&tlb, vma);
|
||||
walk_page_range(vma->vm_mm, range.start, range.end,
|
||||
&madvise_free_walk_ops, &tlb);
|
||||
tlb_end_vma(&tlb, vma);
|
||||
vm_write_end(vma);
|
||||
mmu_notifier_invalidate_range_end(&range);
|
||||
tlb_finish_mmu(&tlb, range.start, range.end);
|
||||
|
||||
|
|
|
|||
|
|
@ -1293,6 +1293,7 @@ void unmap_page_range(struct mmu_gather *tlb,
|
|||
unsigned long next;
|
||||
|
||||
BUG_ON(addr >= end);
|
||||
vm_write_begin(vma);
|
||||
tlb_start_vma(tlb, vma);
|
||||
pgd = pgd_offset(vma->vm_mm, addr);
|
||||
do {
|
||||
|
|
@ -1302,6 +1303,7 @@ void unmap_page_range(struct mmu_gather *tlb,
|
|||
next = zap_p4d_range(tlb, vma, pgd, addr, next, details);
|
||||
} while (pgd++, addr = next, addr != end);
|
||||
tlb_end_vma(tlb, vma);
|
||||
vm_write_end(vma);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -600,9 +600,11 @@ unsigned long change_prot_numa(struct vm_area_struct *vma,
|
|||
{
|
||||
int nr_updated;
|
||||
|
||||
vm_write_begin(vma);
|
||||
nr_updated = change_protection(vma, addr, end, PAGE_NONE, 0, 1);
|
||||
if (nr_updated)
|
||||
count_vm_numa_events(NUMA_PTE_UPDATES, nr_updated);
|
||||
vm_write_end(vma);
|
||||
|
||||
return nr_updated;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue