Re: [PATCH -mm 3/3] move mmu notifier call from change_protection to change_pmd_range

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 02/18/2014 09:24 PM, David Rientjes wrote:
> On Tue, 18 Feb 2014, riel@xxxxxxxxxx wrote:
> 
>> From: Rik van Riel <riel@xxxxxxxxxx>
>>
>> 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@xxxxxxxxxx>
>> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
>> Cc: Andrea Arcangeli <aarcange@xxxxxxxxxx>
>> Reported-by: Xing Gang <gang.xing@xxxxxx>
>> Tested-by: Chegu Vinod <chegu_vinod@xxxxxx>
> 
> Acked-by: David Rientjes <rientjes@xxxxxxxxxx>
> 
> 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
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux