Re: [tip:sched/core] sched: Use bool type for rq->idle_at_tick

From: Ingo Molnar
Date: Wed May 11 2011 - 13:16:43 EST



* Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:

> On Sat, 2011-04-30 at 07:16 +0000, tip-bot for Rakib Mullick wrote:
> > Commit-ID: eea502ffd4aeef233b5eadbde405a9df92d57a5e
> > Gitweb: http://git.kernel.org/tip/eea502ffd4aeef233b5eadbde405a9df92d57a5e
> > Author: Rakib Mullick <rakib.mullick@xxxxxxxxx>
> > AuthorDate: Sat, 30 Apr 2011 00:01:02 +0600
> > Committer: Ingo Molnar <mingo@xxxxxxx>
> > CommitDate: Sat, 30 Apr 2011 00:17:14 +0200
> >
> > sched: Use bool type for rq->idle_at_tick
> >
> > Searching over the scheduler code for uses of rq->idle_at_tick
> > shows us that it's used for making TRUE/FALSE decision.
> >
> > Still its type is 'unsigned char' so using 'bool' would be
> > cleaner.
> >
> > Signed-off-by: Rakib Mullick <rakib.mullick@xxxxxxxxx>
> > Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
> > Link: http://lkml.kernel.org/r/1304100062.19359.6.camel@xxxxxxxxxxxxxxxxxxxxx
> > Signed-off-by: Ingo Molnar <mingo@xxxxxxx>
> > ---
> > kernel/sched.c | 2 +-
> > 1 files changed, 1 insertions(+), 1 deletions(-)
> >
> > diff --git a/kernel/sched.c b/kernel/sched.c
> > index f11a2a5..a492209 100644
> > --- a/kernel/sched.c
> > +++ b/kernel/sched.c
> > @@ -505,7 +505,7 @@ struct rq {
> >
> > unsigned long cpu_power;
> >
> > - unsigned char idle_at_tick;
> > + bool idle_at_tick;
> > /* For active balancing */
> > int post_schedule;
> > int active_balance;
>
> Right, so the problem I have with using bool in structures is that
> sizeof(_Bool) is not well defined by the C standard and is
> implementation dependent, meaning the struct rq layout can change
> between gcc versions, architectures or even between optimization levels.
>
> So for structures where the layout is relevant we must avoid bool.

Okay, zapped it stays then.

Thanks,

Ingo
--
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/