Re: [PATCH 07/10] KVM: PPC: Add PAPR hypercall code for PR mode

Alexander Graf
2011-08-12T08:09:03Z

Am 12.08.2011 um 09:43 schrieb David Gibson <david@gibson.dropbear.id.au>:

> On Fri, Aug 12, 2011 at 07:38:54AM +0200, Alexander Graf wrote:
>>
>> Am 12.08.2011 um 05:35 schrieb David Gibson <david@gibson.dropbear.id.au>:
>>
>>> On Tue, Aug 09, 2011 at 06:31:45PM +0200, Alexander Graf wrote:
>>>> When running a PAPR guest, we need to handle a few hypercalls in kernel space,
>>>> most prominently the page table invalidation (to sync the shadows).
>>>>
>>>> So this patch adds handling for a few PAPR hypercalls to PR mode KVM. I tried
>>>> to share the code with HV mode, but it ended up being a lot easier this way
>>>> around, as the two differ too much in those details.
>>>
>>> Are these strictly necessary, or just an optimization? Because you're
>>> using the space allocated by qemu for the guest hash table, it seems
>>> to be you could just let h_enter fall through to qemu which will put
>>> the right thing into the guest hash table which you can then walk in
>>> the kernel translation code.
>>
>> Every time a PTE can be invalidated, we need to do so in kvm to keep
>> the SPT in sync. IIRC h_enter can evict/overwrite a previous entry,
>> so we need to handle it in kvm as well :). Removal definitely needs
>> to happin in-kernel.
>
> True. I think you could actually delay this invalidation until the
> guest issues the tlbie, but it's probably not worth it.

Well, since we need to have HTAB modification code in kvm for PR either way, I'd rather have all of it at the same place :)

Alex