[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20140225130925.813f29105079cbd3d5a9ba30@linux-foundation.org>
Date: Tue, 25 Feb 2014 13:09:25 -0800
From: Andrew Morton <akpm@...ux-foundation.org>
To: Josh Triplett <josh@...htriplett.org>
Cc: Dwight Engen <dwight.engen@...cle.com>,
Eric Paris <eparis@...hat.com>,
Frederic Weisbecker <fweisbec@...il.com>,
Jiri Slaby <jslaby@...e.cz>,
Kyungsik Lee <kyungsik.lee@....com>,
Michal Hocko <mhocko@...e.cz>, Michal Marek <mmarek@...e.cz>,
Mike Frysinger <vapier@...too.org>,
Paul Gortmaker <paul.gortmaker@...driver.com>,
"Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>,
Rob Landley <rob@...dley.net>,
"Yann E. MORIN" <yann.morin.1998@...e.fr>,
linux-doc@...r.kernel.org, linux-kbuild@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] kconfig: Make allnoconfig disable options behind
EMBEDDED and EXPERT
On Sun, 23 Feb 2014 18:20:26 -0800 Josh Triplett <josh@...htriplett.org> wrote:
> "make allnoconfig" exists to ease testing of minimal configurations.
> Documentation/SubmitChecklist includes a note to test with allnoconfig.
> This helps catch missing dependencies on common-but-not-required
> functionality, which might otherwise go unnoticed.
>
> However, allnoconfig still leaves many symbols enabled, because they're
> hidden behind CONFIG_EMBEDDED or CONFIG_EXPERT. For instance,
> allnoconfig still has CONFIG_PRINTK and CONFIG_BLOCK enabled, so drivers
> don't typically get build-tested with those disabled.
>
> To address this, introduce a new Kconfig option "allnoconfig_y", used on
> symbols which only exist to hide other symbols. Set it on
> CONFIG_EMBEDDED (which then selects CONFIG_EXPERT). allnoconfig will
> then disable all the symbols hidden behind those.
Now look what you've done!
kernel/sched/core.c: In function 'pick_next_task':
kernel/sched/core.c:2613: warning: control reaches end of non-void function
static inline struct task_struct *
pick_next_task(struct rq *rq, struct task_struct *prev)
{
const struct sched_class *class;
struct task_struct *p;
/*
* Optimization: we know that if all tasks are in
* the fair class we can call that function directly:
*/
if (likely(prev->sched_class == &fair_sched_class &&
rq->nr_running == rq->cfs.h_nr_running)) {
p = fair_sched_class.pick_next_task(rq, prev);
if (likely(p))
return p;
}
for_each_class(class) {
p = class->pick_next_task(rq, prev);
if (p)
return p;
}
BUG(); /* the idle class will always have a runnable task */
}
akpm3:/usr/src/25> grep CONFIG_BUG .config
# CONFIG_BUG is not set
--
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