Re: swapping with MMU Notifiers V2

Avi Kivity
2008-01-29T18:05:20Z

Andrea Arcangeli wrote:
> On Tue, Jan 29, 2008 at 05:35:34PM +0100, Carsten Otte wrote:
>
>> Avi Kivity wrote:
>>
>>> Every arch except s390 needs it. An ugly #ifndef
>>> CONFIG_KVM_HARDWARE_TLB_SYNC is preferred to duplicating the code.
>>>
>> BTW, from reading AMDs spec I don't expect NPT to need this vehicle
>>
>
> By your conclusion I suppose you thought NPT maps guest physical to
> host virtual. If it was the case the cpu would to walk three layer of
> pagetables (each layer is an arrow): guest virtual -> guest physical
> -> host virtual -> host physical. Instead it's just guest virtual ->
> guest physical -> host physical. Or even less for shadow: guest
> virtual -> host physical, which is why shadow should be faster for
> number crunching still (and definitely slower for dbms).
>

If a hypervisor mandates (host virtual) == (guest physical), it would
work. x86 still misses the dual-tagged tlb, so mmu notifiers are needed
regardless. With s390, they have an additional offset parameter, so
(host virtual) == (guest physical) + offset, so qemu can coexist with
the guest, and dual tagged tlb so that a host invalidate also evicts
guest tlb entries.

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