Subject: Re: linux-next: tip-core build failure

From: Ingo Molnar <[email-masked]>
Date: Sun, 14 Sep 2008 14:43:20 +0200

* Rui Sousa <[email-masked]> wrote:

> On Saturday 13 September 2008 03:14, Stephen Rothwell wrote:
> > Hi Ingo,
> >
> > Today's linux-next build (powerpc allnoconfig) failed like this:
> >
> > In file included from arch/powerpc/include/asm/system.h:8,
> >                  from include/linux/list.h:7,
> >                  from include/linux/signal.h:8,
> >                  from arch/powerpc/kernel/asm-offsets.c:16:
> > include/linux/irqflags.h:89:1: warning: "local_irq_save" redefined
> > In file included from arch/powerpc/include/asm/irqflags.h:11,
> >                  from include/linux/irqflags.h:55,
> >                  from arch/powerpc/include/asm/system.h:8,
> >                  from include/linux/list.h:7,
> >                  from include/linux/signal.h:8,
> >                  from arch/powerpc/kernel/asm-offsets.c:16:
> > arch/powerpc/include/asm/hw_irq.h:115:1: warning: this is the location of
> > the previous definition
> >
> > And it went downhill from there.
> >
> > Introduced by commit bd8fbdee6562ee526f3c2582a3b373ef195015dd ("lockdep:
> > fix compilation when CONFIG_TRACE_IRQFLAGS_SUPPORT is not set") which I
> > have reverted.
> 
> Ingo,
> 
> Do you agree that the original (in include/linux/irqflags.h):
> 
> #define raw_local_irq_disable()        local_irq_disable()
> 
> should be
> 
> #define local_irq_disable()		raw_local_irq_disable()        
> 
> and that architecture specific files should only define the raw_xxx() 
> macros? It seems I missed a bunch of need changes in the original 
> patch, but if it's the right way to go I can work on a patch to update 
> the other archs too.

yes, i agree with that direction. But it's difficult: the non-x86 
architectures do not get much testing in practice at the development 
stage so trivial build bugs like this get only found at the latest 
stage. That's not actually bad in itself - stuff that is not used does 
not matter nearly as much as stuff that does get used.

	Ingo