Re: [PATCH v2 10/16] KVM: MMU: fask check whether page is writable

From: Xiao Guangrong
Date: Tue Apr 17 2012 - 08:11:01 EST

On 04/17/2012 03:41 PM, Avi Kivity wrote:

> On 04/17/2012 06:55 AM, Xiao Guangrong wrote:
>> On 04/16/2012 07:47 PM, Avi Kivity wrote:
>>> On 04/16/2012 01:20 PM, Xiao Guangrong wrote:
>>>>>> It is used to avoid the unnecessary overload
>>>>> It's overloading me :(
>>>> Sorry.
>>> The trick is to send those in separate patchset so the maintainer
>>> doesn't notice.
>> Thanks for your suggestion, i will pay more attention on it in the
>> further.
>> For this patch, what did you mean of "those"? You mean the whole
>> rmap.PTE_LIST_WP_BIT (fast check for shadow page table write protection
>> and host write protection) or just about host_page_write_protect
>> (for KSM only)?
> All of it. Let's start with just modifying sptes concurrently and only
> later add reading bits from rmap concurrently, if it proves necessary.

Okay, i agree.

>> If we do not have rmap.PTE_LIST_WP_BIT, there may have regression on
>> shadow mmu.
>> Hmm, do i need implement rmap.PTE_LIST_WP_BIT, then fast page fault?
> Let's try to measure the effect without rmap.PTE_LIST_WP_BIT. Usually
> PTE chains for page tables are short so the effect would be small. Of
> course we can't tell about all guest.

It is not about rmap's spte, it is about sp.sync write-protect, if the sp.sync
is written, the fast page fault path will be triggered even if no migration and
no framebuffer.

I have done a quick test for kernbench for 10 times and get the average value
without xwindow:

keep rmap.PTE_LIST_WP_BIT: 53.494
comment rmap.PTE_LIST_WP_BIT checking in page_fault_can_be_fast: 53.948

Anyway, for good review, let move fast page fault in first and discuss this in
the separate patchset later.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at