| 
         
xen-devel
[Xen-devel] Re: [PATCH RFC V2 3/5] kvm hypervisor : Add two hypercalls t
 
| 
To:  | 
Avi Kivity <avi@xxxxxxxxxx> | 
 
| 
Subject:  | 
[Xen-devel] Re: [PATCH RFC V2 3/5] kvm hypervisor : Add two hypercalls to support pv-ticketlock | 
 
| 
From:  | 
Srivatsa Vaddagiri <vatsa@xxxxxxxxxxxxxxxxxx> | 
 
| 
Date:  | 
Mon, 24 Oct 2011 17:57:34 +0530 | 
 
| 
Cc:  | 
Jeremy Fitzhardinge <jeremy.fitzhardinge@xxxxxxxxxx>,	Dave Jiang <dave.jiang@xxxxxxxxx>, KVM <kvm@xxxxxxxxxxxxxxx>,	Gleb Natapov <gleb@xxxxxxxxxx>,	Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>,	Peter Zijlstra <peterz@xxxxxxxxxxxxx>, LKML <linux-kernel@xxxxxxxxxxxxxxx>,	Raghavendra K T <raghavendra.kt@xxxxxxxxxxxxxxxxxx>, x86@xxxxxxxxxx,	Virtualization <virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx>,	Marcelo Tosatti <mtosatti@xxxxxxxxxx>,	Suzuki Poulose <suzuki@xxxxxxxxxxxxxxxxxx>,	Xen <xen-devel@xxxxxxxxxxxxxxxxxxx>, "H. Peter Anvin" <hpa@xxxxxxxxx>,	Sedat Dilek <sedat.dilek@xxxxxxxxx>, Thomas Gleixner <tglx@xxxxxxxxxxxxx>,	Ingo Molnar <mingo@xxxxxxxxxx>, Yinghai Lu <yinghai@xxxxxxxxxx>,	Greg Kroah-Hartman <gregkh@xxxxxxx>,	Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> | 
 
| 
Delivery-date:  | 
Tue, 25 Oct 2011 09:59:02 -0700 | 
 
| 
Envelope-to:  | 
www-data@xxxxxxxxxxxxxxxxxxx | 
 
| 
In-reply-to:  | 
<4EA53A7D.300@xxxxxxxxxx> | 
 
| 
List-help:  | 
<mailto:xen-devel-request@lists.xensource.com?subject=help> | 
 
| 
List-id:  | 
Xen developer discussion <xen-devel.lists.xensource.com> | 
 
| 
List-post:  | 
<mailto:xen-devel@lists.xensource.com> | 
 
| 
List-subscribe:  | 
<http://lists.xensource.com/mailman/listinfo/xen-devel>,	<mailto:xen-devel-request@lists.xensource.com?subject=subscribe> | 
 
| 
List-unsubscribe:  | 
<http://lists.xensource.com/mailman/listinfo/xen-devel>,	<mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe> | 
 
| 
References:  | 
<20111023190307.16364.35381.sendpatchset@xxxxxxxxxxxxxxxxxxxx>	<20111023190558.16364.2136.sendpatchset@xxxxxxxxxxxxxxxxxxxx>	<4EA53A7D.300@xxxxxxxxxx> | 
 
| 
Reply-to:  | 
Srivatsa Vaddagiri <vatsa@xxxxxxxxxxxxxxxxxx> | 
 
| 
Sender:  | 
xen-devel-bounces@xxxxxxxxxxxxxxxxxxx | 
 
| 
User-agent:  | 
Mutt/1.5.21 (2010-09-15) | 
 
 
 
* Avi Kivity <avi@xxxxxxxxxx> [2011-10-24 12:14:21]:
> > +/*
> > + * kvm_pv_wait_for_kick_op : Block until kicked by either a KVM_HC_KICK_CPU
> > + * hypercall or a event like interrupt.
> > + *
> > + * @vcpu : vcpu which is blocking.
> > + */
> > +static void kvm_pv_wait_for_kick_op(struct kvm_vcpu *vcpu)
> > +{
[snip]
> > +}
> 
> This hypercall can be replaced by a HLT instruction, no?
Good point. Assuming yield_on_hlt=1, that would allow the vcpu to be put
to sleep and let other vcpus make progress.
I guess with that change, we can also dropthe need for other hypercall
introduced in this patch (kvm_pv_kick_cpu_op()). Essentially a vcpu sleeping 
because of HLT instruction can be woken up by a IPI issued by vcpu releasing a
lock.
- vatsa
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
 |   
 
 | 
    |