Re: [PATCH 4/6] KVM MMU: optimize for writing cr4

Avi Kivity
2010-04-13T06:42:18Z

On 04/13/2010 06:07 AM, Xiao Guangrong wrote:
>
> And i found the commit 87778d60ee:
>
> | KVM: MMU: Segregate mmu pages created with different cr4.pge settings
> |
> | Don't allow a vcpu with cr4.pge cleared to use a shadow page created with
> | cr4.pge set; this might cause a cr3 switch not to sync ptes that have the
> | global bit set (the global bit has no effect if !cr4.pge).
> |
> | This can only occur on smp with different cr4.pge settings for different
> | vcpus (since a cr4 change will resync the shadow ptes), but there's no
> | cost to being correct here.
>
> In current code, cr3 switch will sync all unsync shadow pages(regardless it's
> global or not) and this issue not live now, so, do we need also revert this
> patch?
>

One path is to revert this patch. The other is to restore the
optimization that relies on it. I'm not sure which is best.

--
Do not meddle in the internals of kernels, for they are subtle and quick to panic.