[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20110703194949.GC27022@elte.hu>
Date: Sun, 3 Jul 2011 21:49:49 +0200
From: Ingo Molnar <mingo@...e.hu>
To: Frederic Weisbecker <fweisbec@...il.com>
Cc: Michal Marek <mmarek@...e.cz>,
Steven Rostedt <rostedt@...dmis.org>,
LKML <linux-kernel@...r.kernel.org>,
"Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>,
Peter Zijlstra <a.p.zijlstra@...llo.nl>,
Randy Dunlap <randy.dunlap@...cle.com>,
Thomas Gleixner <tglx@...utronix.de>
Subject: Re: [GIT PULL v2] sched: Make sleep inside atomic detection work on
!PREEMPT
* Frederic Weisbecker <fweisbec@...il.com> wrote:
> On Fri, Jul 01, 2011 at 07:29:34PM +0200, Ingo Molnar wrote:
> >
> > * Frederic Weisbecker <fweisbec@...il.com> 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@...il.com>
> > > > 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...
Architectures have to include kernel/Kconfig.preempt explicitly,
like:
arch/x86/Kconfig:source "kernel/Kconfig.preempt"
m32r does not appear to do this - so it does not know about
PREEMPT_COUNT.
Thanks,
Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists