Re: cr3 OOS optimisation breaks 32-bit GNU/kFreeBSD guest

Avi Kivity
2009-04-05T11:41:10Z

Marcelo Tosatti wrote:
>> Here's one way to make this work:
>>
>> - add a hash of global pagetables, indexed by virtual address instead
>> of the pagetable's gfn
>> - invlpg checks this hash in addition to the recursive walk
>>
>> We'd need to make the virtual address part of sp->role to avoid needing
>> to link the same page multiple times in the virtual address hash.
>>
>
> Humpf, yes. It seems its too expensive/complex to handle this, for such
> small gain (~= 2% on AIM7 with RHEL3 guest).
>
> Are you okay with just disabling the global pages optimization?
>

Definitely to plug the hole; and probably for later as well, unless
people cry out due to regressions.

Please send it in two patches: one a trivial one to disable global page
detection which can be sent to -stable as well, and a follow on which
rips out the global page machinery until (and if) we decide to
reimplement it correctly.

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