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 12:31:23 +0300 Message-ID: <20120417093123.GB11918@redhat.com> References: <1276722673-19011-1-git-send-email-clalance@redhat.com> <1276722673-19011-2-git-send-email-clalance@redhat.com> <4F8C49D6.9010603@siemens.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Chris Lalancette , kvm@vger.kernel.org, Marcelo Tosatti , Avi Kivity To: Jan Kiszka Return-path: Received: from mx1.redhat.com ([209.132.183.28]:2260 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755956Ab2DQJb1 (ORCPT ); Tue, 17 Apr 2012 05:31:27 -0400 Content-Disposition: inline In-Reply-To: <4F8C49D6.9010603@siemens.com> Sender: kvm-owner@vger.kernel.org List-ID: On Mon, Apr 16, 2012 at 06:33:26PM +0200, Jan Kiszka wrote: > On 2010-06-16 23:11, Chris Lalancette wrote: > > We really want to "kvm_set_irq" during the hrtimer callback, > > but that is risky because that is during interrupt context. > > Instead, offload the work to a workqueue, which is a bit safer > > and should provide most of the same functionality. > > Unfortunately, workqueues do not have fixed kthread associations (and > "kvm-pit-wq" would be too unspecific when running multiple VMs). So I > just realized that this subtly breaks the ability to run KVM guests with > RT priority (boot managers with timeouts hang as the workqueue starves). > > Before throwing some kthread_worker at this, could someone help me > recalling what was "risky" here? That the PIT IRQ may have to be > broadcast to a large number of VCPUs? I would offer to include this > information in my changelog. ;) > ioapic and pic irq_set functions uses spinlocks, but not irqsave variants. Also I am always forget whether is is safe to kick vcpu from irq context. -- Gleb.