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

From: Avi Kivity
Date: Tue Apr 13 2010 - 02:42:33 EST


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.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/