lkml.org 
[lkml]   [2010]   [Apr]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 4/6] KVM MMU: optimize for writing cr4


Avi Kivity wrote:

> See 6364a3918cb. It was reverted later due to a problem with the
> implementation. I'm not sure whether I want to fix the bug and restore
> that patch, or to drop it altogether and give the guest ownership of
> cr4.pge. See cr4_guest_owned_bits (currently only used on ept).
>

Oh, i see, thanks very much.

>> As i know, global page is not static in TLB, and x86 cpu also may
>> flush them form TLB,
>> maybe we no need treat global page specially... Am i miss something? :-(
>>
>
> You can't read reverted patches? :)

I usually use 'get blame' to look into source, and not noticed reverted
patches, i'll pay more attention on those.

Below code still confused me:

| vcpu->arch.mmu.base_role.cr4_pge = (cr4& X86_CR4_PGE)&&!tdp_enabled;

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?

Xiao



\
 
 \ /
  Last update: 2010-04-13 05:13    [W:3.566 / U:0.012 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site