On 06.09.2010, at 10:55, Avi Kivity wrote:
> On 09/06/2010 11:51 AM, Alexander Graf wrote:
>>
>>> I think guest_mode makes sense for the other archs for reducing IPIs, so
>>> let's leave it common and recommend that they implement it. Alex, if
>>> you're ever bored.
>> What does the bit do? Do we have documentation on it ;)? No seriously,
>> what's the intent of the field?
>>
>
> It indicates that the vcpu is currently executing guest code. Which in turn
> is important if you need to force it out of guest mode in order to inject an
> interrupt or flush the tlb.
Well, a vcpu is either offline in halt state or in guest mode, no? So we can
conclude that guest_mode == !offline && !halt_state.
When in halt state, we are active on the wakeup waitqueue:
static void kvmppc_decrementer_func(unsigned long data)
{
struct kvm_vcpu *vcpu = (struct kvm_vcpu *)data;
kvmppc_core_queue_dec(vcpu);
if (waitqueue_active(&vcpu->wq)) {
wake_up_interruptible(&vcpu->wq);
vcpu->stat.halt_wakeup++;
}
}
Shouldn't that be enough information already?
Alex
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html