From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gleb Natapov Subject: Re: [PATCH v3 1/3] Introduce a workqueue to deliver PIT timer interrupts. Date: Tue, 17 Apr 2012 15:03:40 +0300 Message-ID: <20120417120340.GL11918@redhat.com> References: <1276722673-19011-2-git-send-email-clalance@redhat.com> <4F8C49D6.9010603@siemens.com> <20120417093123.GB11918@redhat.com> <4F8D44B8.1000102@redhat.com> <20120417102601.GF11918@redhat.com> <4F8D45F0.4020908@redhat.com> <20120417103106.GG11918@redhat.com> <4F8D4917.5000703@redhat.com> <20120417110506.GJ11918@redhat.com> <4F8D5B4A.6070904@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Jan Kiszka , kvm@vger.kernel.org, Marcelo Tosatti To: Avi Kivity Return-path: Received: from mx1.redhat.com ([209.132.183.28]:41289 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754551Ab2DQMDn (ORCPT ); Tue, 17 Apr 2012 08:03:43 -0400 Content-Disposition: inline In-Reply-To: <4F8D5B4A.6070904@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: On Tue, Apr 17, 2012 at 03:00:10PM +0300, Avi Kivity wrote: > On 04/17/2012 02:05 PM, Gleb Natapov wrote: > > On Tue, Apr 17, 2012 at 01:42:31PM +0300, Avi Kivity wrote: > > > On 04/17/2012 01:31 PM, Gleb Natapov wrote: > > > > On Tue, Apr 17, 2012 at 01:29:04PM +0300, Avi Kivity wrote: > > > > > On 04/17/2012 01:26 PM, Gleb Natapov wrote: > > > > > > > It isn't, since you need to send an IPI. > > > > > > > > > > > > > That is exactly what I forget whether you can send IPI from there :) > > > > > > Anyway this is another reason. > > > > > > > > > > > > > > > > Actually I was wrong. You can't smp_call_function_single() from irq > > > > > context (deadlocks if two vcpus do that), but we send a reschedule > > > > > interrupt. So it should work. > > > > > > > > > Ah, good point. So if we'll use irqsave versions of spinlocks we can > > > > drop kthread? > > > > > > Do we want 254 IPIs to be issued from irq context? Could be slow. > > > > > Where this number is coming from? > > KVM_MAX_VCPUS. > Ah, so you are worried about malicious guest configuring pit to broadcast to all its vcpus. > > > We can make the unicast case run from irq context and defer the > > > multicast to a thread. > > > > > We do not know if gsi is multicasted in the pit code though. > > > > We don't have to do it in the pit code. The .set method can decide > whether it wants a direct path or go through a thread (which thread? > passed as a parameter?) > Agree. -- Gleb.