| Date | Mon, 16 Sep 2013 18:35:47 +0200 | From | Peter Zijlstra <> | Subject | Re: [PATCH 17/50] mm: Do not flush TLB during protection change if !pte_present && !migration_entry |
| |
On Tue, Sep 10, 2013 at 10:31:57AM +0100, Mel Gorman wrote: > NUMA PTE scanning is expensive both in terms of the scanning itself and > the TLB flush if there are any updates. Currently non-present PTEs are > accounted for as an update and incurring a TLB flush where it is only > necessary for anonymous migration entries. This patch addresses the > problem and should reduce TLB flushes. > > Signed-off-by: Mel Gorman <mgorman@suse.de> > --- > mm/mprotect.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/mm/mprotect.c b/mm/mprotect.c > index 1f9b54b..1e9cef0 100644 > --- a/mm/mprotect.c > +++ b/mm/mprotect.c > @@ -109,8 +109,9 @@ static unsigned long change_pte_range(struct vm_area_struct *vma, pmd_t *pmd, > make_migration_entry_read(&entry); > set_pte_at(mm, addr, pte, > swp_entry_to_pte(entry)); > + > + pages++; > } > - pages++; > } > } while (pte++, addr += PAGE_SIZE, addr != end); > arch_leave_lazy_mmu_mode();
Should we fold this into patch 7 ?
|