From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: KVM: x86: use smp_send_reschedule in kvm_vcpu_kick Date: Tue, 10 Mar 2009 10:01:41 +0200 Message-ID: <49B61E65.4070706@redhat.com> References: <20090303001405.GA5889@amt.cnet> <49B4ECB6.8060505@redhat.com> <20090309105855.GA14242@elte.hu> <1236596946.8389.340.camel@laptop> <20090309232350.GA6837@amt.cnet> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Cc: "Zhang, Xiantao" , Ingo Molnar , kvm@vger.kernel.org, Gleb Natapov , Peter Zijlstra To: Marcelo Tosatti Return-path: Received: from mx2.redhat.com ([66.187.237.31]:35844 "EHLO mx2.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752165AbZCJIBz (ORCPT ); Tue, 10 Mar 2009 04:01:55 -0400 In-Reply-To: <20090309232350.GA6837@amt.cnet> Sender: kvm-owner@vger.kernel.org List-ID: Marcelo Tosatti wrote: > OK, reworked patch: > - change ia64 in addition to x86 > - add comment on smp send reschedule handlers about KVM's usage > > Untested on IA64. > > KVM: use smp_send_reschedule in kvm_vcpu_kick > > KVM uses a function call IPI to cause the exit of a guest running on a > physical cpu. For virtual interrupt notification there is no need to > wait on IPI receival, or to execute any function. > > This is exactly what the reschedule IPI does, without the overhead > of function IPI. So use it instead of smp_call_function_single in > kvm_vcpu_kick. > > Also change the "guest_mode" variable to a bit in vcpu->requests, and > use that to collapse multiple IPI's that would be issued between the > first one and zeroing of guest mode. > > This allows kvm_vcpu_kick to called with interrupts disabled. > Looks good. Will wait for Xiantao's test-n-ack before applying. -- error compiling committee.c: too many arguments to function