Re: [PATCH 5/6] kvm, x86: use ro page and don't copy shared page

Avi Kivity
2010-07-18T15:14:20Z

On 07/17/2010 07:31 AM, Gleb Natapov wrote:
>>>
>>> Currently pages allocated for guest memory are required to be RW, so after your series
>>> behaviour will remain exactly the same as before.
>>>
>> Except KSM pages.
>>
>>
> KSM page will be COWed by __get_user_pages_fast(addr, 1, 1, page) in
> get_user_page_and_protection() just like it COWed now, no?
>

Well, we don't want to COW it on write faults.

The optimal behaviour is:

- write faults: COW and instantiate a writeable spte
- read faults: instantiate a readable spte; if likely(page is
writeable), make it a writeable spte; if likely(page is dirty) make it a
dirty spte
- speculative spte instantiations: if likely(page is present)
instantiate a pte; if accessed, mark it accessed, if writeable, mark it
writeable; if dirty, mark it dirty

--
error compiling committee.c: too many arguments to function