From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932245Ab1JXM15 (ORCPT ); Mon, 24 Oct 2011 08:27:57 -0400 Received: from e32.co.us.ibm.com ([32.97.110.150]:37195 "EHLO e32.co.us.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932216Ab1JXM14 (ORCPT ); Mon, 24 Oct 2011 08:27:56 -0400 Date: Mon, 24 Oct 2011 17:57:34 +0530 From: Srivatsa Vaddagiri To: Avi Kivity 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 Subject: Re: [PATCH RFC V2 3/5] kvm hypervisor : Add two hypercalls to support pv-ticketlock Message-ID: <20111024122734.GA10634@linux.vnet.ibm.com> Reply-To: Srivatsa Vaddagiri References: <20111023190307.16364.35381.sendpatchset@oc5400248562.ibm.com> <20111023190558.16364.2136.sendpatchset@oc5400248562.ibm.com> <4EA53A7D.300@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline In-Reply-To: <4EA53A7D.300@redhat.com> User-Agent: Mutt/1.5.21 (2010-09-15) x-cbid: 11102412-3270-0000-0000-00000123503B Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@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