From mboxrd@z Thu Jan 1 00:00:00 1970 From: Srivatsa Vaddagiri Subject: Re: [PATCH RFC V2 3/5] kvm hypervisor : Add two hypercalls to support pv-ticketlock Date: Mon, 24 Oct 2011 17:57:34 +0530 Message-ID: <20111024122734.GA10634@linux.vnet.ibm.com> References: <20111023190307.16364.35381.sendpatchset@oc5400248562.ibm.com> <20111023190558.16364.2136.sendpatchset@oc5400248562.ibm.com> <4EA53A7D.300@redhat.com> Reply-To: Srivatsa Vaddagiri Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Cc: Raghavendra K T , Greg Kroah-Hartman , "H. Peter Anvin" , Gleb Natapov , Virtualization , Jeremy Fitzhardinge , x86@kernel.org, KVM , Dave Jiang , Thomas Gleixner , Stefano Stabellini , Xen , Sedat Dilek , Yinghai Lu , Marcelo Tosatti , Ingo Molnar , Rik van Riel , Konrad Rzeszutek Wilk , LKML , Suzuki Poulose , Peter Zijlstra To: Avi Kivity Return-path: Content-Disposition: inline In-Reply-To: <4EA53A7D.300@redhat.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org * Avi Kivity [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