Re: [GIT PULL] scheduler fixes

From: Sam Ravnborg
Date: Thu Oct 01 2009 - 03:29:12 EST


On Thu, Oct 01, 2009 at 08:42:09AM +0200, Ingo Molnar wrote:
>
> * Eric Dumazet <eric.dumazet@xxxxxxxxx> wrote:
>
> > Ingo Molnar a écrit :
> > >
> > > That's not enough - the inline assembly code in
> > > arch/x86/include/asm/cmpxchg_32.h should also not reference
> > > cmpxchg8b_emu in that case.
> > >
> >
> > I believe it is OK as is, since cmpxchg8b_emu is referenced only
> > once, in a section guarded by :
> > #ifndef CONFIG_X86_CMPXCHG64
>
> yeah. But this bit is wrong:
>
> > +++ b/arch/x86/lib/Makefile
> > @@ -15,8 +15,10 @@ ifeq ($(CONFIG_X86_32),y)
> > obj-y += atomic64_32.o
> > lib-y += checksum_32.o
> > lib-y += strstr_32.o
> > - lib-y += semaphore_32.o string_32.o cmpxchg8b_emu.o
> > -
> > + lib-y += semaphore_32.o string_32.o
> > +ifeq ($(CONFIG_X86_CMPXCHG64),n)
> > + lib-y += cmpxchg8b_emu.o
> > +endif
> > lib-$(CONFIG_X86_USE_3DNOW) += mmx_32.o
> > else
> > obj-y += io_64.o iomap_copy_64.o
>
> The way to check for a disabled option in a Make rule is:
>
> ifneq ($(CONFIG_X86_CMPXCHG64),y)
or
ifeq ($(CONFIG_X86_CMPXCHG64),)

Both variants are suboptimal - but I have not been
able to come up with something readable in this situation.

Looking at the above the first is the better version as
it is a bit more obvious what we test for (assuming reader
knows this is a boolean value and not tristate).

Sam
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/