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

From: Ingo Molnar
Date: Thu Jun 05 2014 - 06:35:53 EST



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

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/