Re: [GIT PULL v2] sched: Make sleep inside atomic detection work on!PREEMPT

From: Frederic Weisbecker
Date: Sat Jul 02 2011 - 12:53:55 EST


On Fri, Jul 01, 2011 at 07:29:34PM +0200, Ingo Molnar wrote:
>
> * Frederic Weisbecker <fweisbec@xxxxxxxxx> wrote:
>
> > On Fri, Jul 01, 2011 at 05:05:17PM +0200, Ingo Molnar wrote:
> > >
> > > -tip testing also found that m32r fails to build:
> > >
> > > /home/mingo/tip/kernel/sched.c: In function 'preempt_schedule':
> > > /home/mingo/tip/kernel/sched.c:4364: error: implicit declaration of function 'add_preempt_count_notrace'
> > > /home/mingo/tip/kernel/sched.c:4366: error: implicit declaration of function 'sub_preempt_count_notrace'
> > >
> > > due to:
> > >
> > > bdd4e85dc36cdbcfc1608a5b2a17c80a9db8986a is the first bad commit
> > > commit bdd4e85dc36cdbcfc1608a5b2a17c80a9db8986a
> > > Author: Frederic Weisbecker <fweisbec@xxxxxxxxx>
> > > Date: Wed Jun 8 01:13:27 2011 +0200
> > >
> > > sched: Isolate preempt counting in its own config option
> > >
> > > Thanks,
> > >
> > > Ingo
> >
> > I have no clue how that did happen.
> >
> > Can you send me your config?
>
> Just the m32r defconfig: m32700ut.smp_defconfig.
>
> My guess would be that one of these:
>
> include/linux/bit_spinlock.h | 2 +-
> include/linux/hardirq.h | 4 ++--
> include/linux/pagemap.h | 4 ++--
> include/linux/preempt.h | 26 +++++++++++++++++---------
> include/linux/rcupdate.h | 12 ++++++------
> include/linux/sched.h | 2 +-
>
> changed/exposed some header dependency quirk on m32r, failing the
> build. Or m32r has some strange .config combo.
>
> Thanks,
>
> Ingo

That's weird.

We have this:

config PREEMPT
bool
select PREEMPT_COUNT

config PREEMPT_COUNT
bool

Then I run "make ARCH=m32r defconfig" that has CONFIG_PREEMPT=y
but it doesn't select PREEMPT_COUNT and happily runs to break few
times after.

Even running make ARCH=m32r oldconfig on the defconfig doesn't fix up
the issue.

I thought "select" was an unconditional action. What am I missing?

I'm adding in Cc more people who know better kconfig/kbuild than me.
Every time I finally consider I know well the Kconfig language, I quickly
get caught up by the fate...
--
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/