Messages in this thread | | | Date | Wed, 12 Jan 2011 11:59:47 +0200 | From | Avi Kivity <> | Subject | Re: [PATCH v3 2/3] KVM: send IPI to vcpu only when it's in guest mode |
| |
On 01/12/2011 11:54 AM, Nadav Har'El wrote: > On Wed, Jan 12, 2011, Xiao Guangrong wrote about "[PATCH v3 2/3] KVM: send IPI to vcpu only when it's in guest mode": > > We can interrupt the vcpu only when it's running in guest mode > > to reduce IPI > > Hi, > > I am afraid there's a risk of confusion between the new > > vcpu->mode = IN_GUEST_MODE; > > and the existing > > is_guest_mode() (i.e., vcpu->arch.hflags& HF_GUEST_MASK) > > The latter says that the virtual cpu is in guest mode (i.e., the guest used > VMLAUNCH and is runnning a nested guest), while the former says that the > physical CPU that this vcpu is currently being run on, is in guest mode - or > in other words, this vcpu is currently running. > > I'm not sure what is the best way to resolve this potential for confusion. > Maybe on of them is better renamed (e.g., instead of vcpu->mode = IN_GUEST_MODE > have something like vcpu->running = NOW_RUNNING). Or maybe some good comments > need to to be written to explain the situation. > > Actually, I just noticed that there's already a vcpu->guest_mode which you > are apparently replacing, so the potential for confusion is already in the > current code... I.e., in the current code, is_guest_mode(vcpu) does NOT check > vcpu->guest_mode... >
Right. One is from the host's point of view, the other is from the guest's point of view. I'll rename is_guest_mode() to is_nested_guest().
-- error compiling committee.c: too many arguments to function
| |