Messages in this thread | | | Date | Tue, 18 Feb 2014 22:08:27 -0500 | From | Rik van Riel <> | Subject | Re: [PATCH -mm 3/3] move mmu notifier call from change_protection to change_pmd_range |
| |
On 02/18/2014 09:24 PM, David Rientjes wrote: > On Tue, 18 Feb 2014, riel@redhat.com wrote: > >> From: Rik van Riel <riel@redhat.com> >> >> The NUMA scanning code can end up iterating over many gigabytes >> of unpopulated memory, especially in the case of a freshly started >> KVM guest with lots of memory. >> >> This results in the mmu notifier code being called even when >> there are no mapped pages in a virtual address range. The amount >> of time wasted can be enough to trigger soft lockup warnings >> with very large KVM guests. >> >> This patch moves the mmu notifier call to the pmd level, which >> represents 1GB areas of memory on x86-64. Furthermore, the mmu >> notifier code is only called from the address in the PMD where >> present mappings are first encountered. >> >> The hugetlbfs code is left alone for now; hugetlb mappings are >> not relocatable, and as such are left alone by the NUMA code, >> and should never trigger this problem to begin with. >> >> Signed-off-by: Rik van Riel <riel@redhat.com> >> Cc: Peter Zijlstra <peterz@infradead.org> >> Cc: Andrea Arcangeli <aarcange@redhat.com> >> Reported-by: Xing Gang <gang.xing@hp.com> >> Tested-by: Chegu Vinod <chegu_vinod@hp.com> > > Acked-by: David Rientjes <rientjes@google.com> > > Might have been cleaner to move the > mmu_notifier_invalidate_range_{start,end}() to hugetlb_change_protection() > as well, though.
I can certainly do that if you want. Just let me know and I'll send a v2 of patch 3 :)
-- All rights reversed
| |