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

From: Peter Zijlstra
Date: Wed May 11 2011 - 12:16:14 EST


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.

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