From mboxrd@z Thu Jan 1 00:00:00 1970 From: Benjamin Herrenschmidt Date: Tue, 07 May 2013 07:25:20 +0000 Subject: Re: [PATCH] powerpc: Make hard_irq_disable() do the right thing vs. irq tracing Message-Id: <1367911520.5769.12.camel@pasglop> List-Id: References: <1367910242.5769.11.camel@pasglop> <5188AA2D.1040802@windriver.com> In-Reply-To: <5188AA2D.1040802@windriver.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: "tiejun.chen" Cc: Scott Wood , Mihai Caraman , linuxppc-dev@lists.ozlabs.org, kvm-ppc@vger.kernel.org On Tue, 2013-05-07 at 15:15 +0800, tiejun.chen wrote: > Could we simplify this as follows: > > +#define hard_irq_disable() do { \ > + __hard_irq_disable(); \ > + if (get_paca()->soft_enabled) { \ > + trace_hardirqs_off(); \ > + get_paca()->soft_enabled = 0; \ > + } \ > + get_paca()->irq_happened |= PACA_IRQ_HARD_DIS; \ > +} while(0) I'd rather not. When lockdep is not enabled trace_hardirqs_off() is a nop and thus we have no conditional at all which is arguably better... Cheers, Ben.