From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marc Zyngier Subject: Re: [PATCH v4 05/20] KVM: arm/arm64: Support calling vgic_update_irq_pending from irq context Date: Wed, 25 Oct 2017 14:45:28 +0100 Message-ID: <86k1zjcpdz.fsf@arm.com> References: <20171020114939.12554-1-christoffer.dall@linaro.org> <20171020114939.12554-6-christoffer.dall@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Cc: Christoffer Dall , Shih-Wei Li , kvmarm@lists.cs.columbia.edu, linux-arm-kernel@lists.infradead.org, kvm@vger.kernel.org To: Christoffer Dall Return-path: In-Reply-To: <20171020114939.12554-6-christoffer.dall@linaro.org> (Christoffer Dall's message of "Fri, 20 Oct 2017 13:49:24 +0200") List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: kvmarm-bounces@lists.cs.columbia.edu Sender: kvmarm-bounces@lists.cs.columbia.edu List-Id: kvm.vger.kernel.org On Fri, Oct 20 2017 at 1:49:24 pm BST, Christoffer Dall wrote: > From: Christoffer Dall > > We are about to optimize our timer handling logic which involves > injecting irqs to the vgic directly from the irq handler. > > Unfortunately, the injection path can take any AP list lock and irq lock > and we must therefore make sure to use spin_lock_irqsave where ever > interrupts are enabled and we are taking any of those locks, to avoid > deadlocking between process context and the ISR. > > This changes a lot of the VGIC code, but The good news are that the > changes are mostly mechanical. > > Signed-off-by: Christoffer Dall Acked-by: Marc Zyngier M. -- Jazz is not dead. It just smells funny. From mboxrd@z Thu Jan 1 00:00:00 1970 From: marc.zyngier@arm.com (Marc Zyngier) Date: Wed, 25 Oct 2017 14:45:28 +0100 Subject: [PATCH v4 05/20] KVM: arm/arm64: Support calling vgic_update_irq_pending from irq context In-Reply-To: <20171020114939.12554-6-christoffer.dall@linaro.org> (Christoffer Dall's message of "Fri, 20 Oct 2017 13:49:24 +0200") References: <20171020114939.12554-1-christoffer.dall@linaro.org> <20171020114939.12554-6-christoffer.dall@linaro.org> Message-ID: <86k1zjcpdz.fsf@arm.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Fri, Oct 20 2017 at 1:49:24 pm BST, Christoffer Dall wrote: > From: Christoffer Dall > > We are about to optimize our timer handling logic which involves > injecting irqs to the vgic directly from the irq handler. > > Unfortunately, the injection path can take any AP list lock and irq lock > and we must therefore make sure to use spin_lock_irqsave where ever > interrupts are enabled and we are taking any of those locks, to avoid > deadlocking between process context and the ISR. > > This changes a lot of the VGIC code, but The good news are that the > changes are mostly mechanical. > > Signed-off-by: Christoffer Dall Acked-by: Marc Zyngier M. -- Jazz is not dead. It just smells funny.