Re: [PATCH v4 06/10] KVM: MMU: fast path of handling guest page fault

Xiao Guangrong
2012-05-03T12:23:27Z

On 05/03/2012 08:15 AM, Takuya Yoshikawa wrote:

> On Wed, 02 May 2012 13:39:51 +0800
> Xiao Guangrong <xiaoguangrong@linux.vnet.ibm.com> wrote:
>
>>> Was the problem really mmu_lock contention?
>
>> Takuya, i am so tired to argue the advantage of lockless write-protect
>> and lockless O(1) dirty-log again and again.
>
> You are missing my point. Please do not take my comments as an objection
> to your whole work: whey do you feel so?
>

Takuya, i am sorry, please forgive my rudeness! Since my English is
so poor that it is easy for me to misunderstand the mail.　:(

> I thought that your new fast-page-fault path was fast and optimized
> the guest during dirty logging.
>
> So in this v4, you might get a similar result even before dropping
> mmu_lock, without 07/10?, if the problem Marcelo explained was not there.
>

Actually, the improvement is larger than v2/v3 if ept is enabled, but
it is lower for ept disabled. This is because the fask-fask (rmap.WRITABLE bit)
is dropped for better review.

>
> Of course there is a problem of mmu_lock contention. What I am suggesting
> is to split that problem and do measurement separately so that part of
> your work can be merged soon.
>
> Your guest size and workload was small to make get_dirty hold mmu_lock
> long time. If you want to appeal the real value of lock-less, you need to
> do another measurment.
>
>
> But this is your work and it's up to you. Although I was thinking to help
> your measurement, I cannot do that knowing the fact that you would not
> welcome my help.
>

Of course, any measurement is appreciative!

>
>>> Although I am not certain about what will be really needed in the
>>> final form, if this kind of maybe-needed-overhead is going to be
>>> added little by little, I worry about possible regression.
>
>> Well, will you suggest Linus to reject all patches and stop
>> all discussion for the "possible regression" reason?
>
> My concern was for Marcelo's examples, not your current implementation.
> If you can show explicitely what will be needed in the final form,
> I do not have any concern.
>
>
> Sorry for disturbing.

Sorry again.