From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=59564 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PzXyk-0004fn-Cm for qemu-devel@nongnu.org; Tue, 15 Mar 2011 13:24:19 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PzXyj-0007TU-7B for qemu-devel@nongnu.org; Tue, 15 Mar 2011 13:24:18 -0400 Received: from mx1.redhat.com ([209.132.183.28]:53987) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PzXyi-0007TD-QS for qemu-devel@nongnu.org; Tue, 15 Mar 2011 13:24:17 -0400 Date: Tue, 15 Mar 2011 14:10:11 -0300 From: Marcelo Tosatti Message-ID: <20110315171011.GA25624@amt.cnet> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Subject: [Qemu-devel] Re: [PATCH v2 06/20] kvm: Install optimized interrupt handler List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Jan Kiszka Cc: Avi Kivity , kvm@vger.kernel.org, qemu-devel@nongnu.org On Tue, Mar 15, 2011 at 12:26:17PM +0100, Jan Kiszka wrote: > KVM only requires to set the raised IRQ in CPUState and to kick the > receiving vcpu if it is remote. > > Signed-off-by: Jan Kiszka > --- > kvm-all.c | 11 +++++++++++ > 1 files changed, 11 insertions(+), 0 deletions(-) > > diff --git a/kvm-all.c b/kvm-all.c > index 226843c..25ab545 100644 > --- a/kvm-all.c > +++ b/kvm-all.c > @@ -650,6 +650,15 @@ static CPUPhysMemoryClient kvm_cpu_phys_memory_client = { > .log_stop = kvm_log_stop, > }; > > +static void kvm_handle_interrupt(CPUState *env, int mask) > +{ > + env->interrupt_request |= mask; > + > + if (!qemu_cpu_is_self(env)) { > + qemu_cpu_kick(env); > + } > +} > + Not sure its worthwhile to allow different handlers. The advantage over tcg version is that its shorter, without cpu_unlink_tb and icount handler?