From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755231AbbBPEHG (ORCPT ); Sun, 15 Feb 2015 23:07:06 -0500 Received: from gate.crashing.org ([63.228.1.57]:35113 "EHLO gate.crashing.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751600AbbBPEHE (ORCPT ); Sun, 15 Feb 2015 23:07:04 -0500 Message-ID: <1424059606.21410.41.camel@kernel.crashing.org> Subject: Re: [PATCH] powerpc: re-enable dynticks From: Benjamin Herrenschmidt To: Michael Ellerman Cc: Paul Clarke , "linuxppc-dev@lists.ozlabs.org" , linux-kernel@vger.kernel.org, Frederic Weisbecker Date: Mon, 16 Feb 2015 15:06:46 +1100 In-Reply-To: <1424045319.3018.2.camel@ellerman.id.au> References: <54DE52BC.3020303@us.ibm.com> <1424045319.3018.2.camel@ellerman.id.au> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.12.7-0ubuntu1 Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, 2015-02-16 at 11:08 +1100, Michael Ellerman wrote: > On Fri, 2015-02-13 at 13:38 -0600, Paul Clarke wrote: > > implement arch_irq_work_has_interrupt() for powerpc > > > > Commit 9b01f5bf3 introduced a dependency on "IRQ work self-IPIs" for > > full dynamic ticks to be enabled, by expecting architectures to > > implement a suitable arch_irq_work_has_interrupt() routine. > > > > Several arches have implemented this routine, including x86 (3010279f) > > and arm (09f6edd4), but powerpc was omitted. > > > > This patch implements this routine for powerpc. > > .../... > > It makes the message change, but is that correct? ie. do we actually implement > "IRQ work self-IPIs"? I think so... Fred, do you think what we do will work ? We hijack our decrementer (local timer) by making it shoot almost immediately (1 tick away) and run the irq work at the beginning of __timer_interrupt(). At that point we are on our irq stack and have done irq_enter but that's about it. Cheers, Ben. > > diff --git a/arch/powerpc/include/asm/irq_work.h > > b/arch/powerpc/include/asm/irq_work.h > > new file mode 100644 > > index 0000000..18365ec > > --- /dev/null > > +++ b/arch/powerpc/include/asm/irq_work.h > > @@ -0,0 +1,11 @@ > > +#ifndef _ASM_IRQ_WORK_H > > +#define _ASM_IRQ_WORK_H > > + > > +#include > > + > > +static inline bool arch_irq_work_has_interrupt(void) > > +{ > > + return 1; > > Should be "true"; > > > +} > > cheers > > > _______________________________________________ > Linuxppc-dev mailing list > Linuxppc-dev@lists.ozlabs.org > https://lists.ozlabs.org/listinfo/linuxppc-dev