Re: [PATCH] sched: Move enum CPU_[xxx_]IDLE to private sched.h

From: Daniel Lezcano
Date: Thu Jun 05 2014 - 06:46:33 EST


On 06/05/2014 12:35 PM, Ingo Molnar wrote:

* Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> wrote:

On 06/05/2014 12:17 PM, Ingo Molnar wrote:

* Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:

On Tue, Jun 03, 2014 at 02:59:05PM +0200, Daniel Lezcano wrote:
The different enum CPU_IDLE, CPU_NOT_IDLE, CPU_NEWLY_IDLE and
CPU_MAX_IDLE_TYPES are only used in kernel/sched/fair.c and
kernel/sched/stats.c.

Move their definitions in the private 'sched.h' file located in the
same place than the files above.


Thanks!


So this patch breaks x86 64-bit and 32-bit defconfigs:

In file included from
/home/mingo/tip/arch/x86/kernel/asm-offsets.c:9:0:
/home/mingo/tip/include/linux/sched.h:939:24: error:
âCPU_MAX_IDLE_TYPESâ undeclared here (not in a function)
unsigned int lb_count[CPU_MAX_IDLE_TYPES];
^
make[2]: *** [arch/x86/kernel/asm-offsets.s] Error 1
make[1]: *** [prepare0] Error 2
make: *** [sub-make] Error 2


Gah ! That deserves -10 points to my karma :(

I did not enabled CONFIG_SCHEDSTATS.

Sorry for the inconvenience.

No problem. sched.h is a bit of a mess when it comes to data structure
dependencies, due to all of 'struct task_struct' having to be defined
by the time random kernel code references task->.

But this is about 'struct sched_domain', and I think we might be able
to move that out of sched.h and into a separate header... In theory
only scheduler internals (arch topology definitions and cores cheduler
code) should know about it.

Ok, I will look at it.

Thanks
-- Daniel



--
<http://www.linaro.org/> Linaro.org â Open source software for ARM SoCs

Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog

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