* 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.