qemu-devel
[Top][All Lists]
Advanced

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

Re: RFC: Split EPT huge pages in advance of dirty logging


From: Junaid Shahid
Subject: Re: RFC: Split EPT huge pages in advance of dirty logging
Date: Fri, 21 Feb 2020 14:08:14 -0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1

On 2/20/20 9:34 AM, Ben Gardon wrote:

FWIW, we currently do this eager splitting at Google for live
migration. When the log-dirty-memory flag is set on a memslot we
eagerly split all pages in the slot down to 4k granularity.
As Jay said, this does not cause crippling lock contention because the
vCPU page faults generated by write protection / splitting can be
resolved in the fast page fault path without acquiring the MMU lock.
I believe +Junaid Shahid tried to upstream this approach at some point
in the past, but the patch set didn't make it in. (This was before my
time, so I'm hoping he has a link.)
I haven't done the analysis to know if eager splitting is more or less
efficient with parallel slow-path page faults, but it's definitely
faster under the MMU lock.


I am not sure if we ever posted those patches upstream. Peter Feiner would know 
for sure. One notable difference in what we do compared to the approach 
outlined by Jay is that we don't rely on tdp_page_fault() to do the splitting. 
So we don't have to create a dummy VCPU and the specialized split function is 
also much faster.

Thanks,
Junaid



reply via email to

[Prev in Thread] Current Thread [Next in Thread]