Revert "BACKPORT: FROMGIT: mm: improve mprotect(R|W) efficiency on pages referenced once"
This reverts commit 6c376abc01.
Reason for revert: Breaks CTS
Change-Id: I606cda34b58abb44d2f2bfc085a644dcf8ea7a25
Signed-off-by: Quentin Perret <qperret@google.com>
This commit is contained in:
@ -44,8 +44,6 @@ static unsigned long change_pte_range(struct vm_area_struct *vma, pmd_t *pmd,
|
|||||||
spinlock_t *ptl;
|
spinlock_t *ptl;
|
||||||
unsigned long pages = 0;
|
unsigned long pages = 0;
|
||||||
int target_node = NUMA_NO_NODE;
|
int target_node = NUMA_NO_NODE;
|
||||||
bool anon_writable =
|
|
||||||
vma_is_anonymous(vma) && (vma->vm_flags & VM_WRITE);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Can be called with only the mmap_sem for reading by
|
* Can be called with only the mmap_sem for reading by
|
||||||
@ -122,11 +120,7 @@ static unsigned long change_pte_range(struct vm_area_struct *vma, pmd_t *pmd,
|
|||||||
(pte_soft_dirty(ptent) ||
|
(pte_soft_dirty(ptent) ||
|
||||||
!(vma->vm_flags & VM_SOFTDIRTY))) {
|
!(vma->vm_flags & VM_SOFTDIRTY))) {
|
||||||
ptent = pte_mkwrite(ptent);
|
ptent = pte_mkwrite(ptent);
|
||||||
} else if (anon_writable &&
|
|
||||||
page_mapcount(pte_page(ptent)) == 1) {
|
|
||||||
ptent = pte_mkwrite(ptent);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ptep_modify_prot_commit(mm, addr, pte, ptent);
|
ptep_modify_prot_commit(mm, addr, pte, ptent);
|
||||||
pages++;
|
pages++;
|
||||||
} else if (IS_ENABLED(CONFIG_MIGRATION)) {
|
} else if (IS_ENABLED(CONFIG_MIGRATION)) {
|
||||||
|
|||||||
Reference in New Issue
Block a user