* [PATCH] sched: Move enum CPU_[xxx_]IDLE to private sched.h
@ 2014-06-03 12:59 Daniel Lezcano
2014-06-04 8:02 ` Peter Zijlstra
0 siblings, 1 reply; 6+ messages in thread
From: Daniel Lezcano @ 2014-06-03 12:59 UTC (permalink / raw)
To: peterz; +Cc: linux-kernel
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.
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
---
include/linux/sched.h | 7 -------
kernel/sched/sched.h | 7 +++++++
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 0f91d00..d561501 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -846,13 +846,6 @@ static inline int sched_info_on(void)
#endif
}
-enum cpu_idle_type {
- CPU_IDLE,
- CPU_NOT_IDLE,
- CPU_NEWLY_IDLE,
- CPU_MAX_IDLE_TYPES
-};
-
/*
* Increase resolution of cpu_power calculations
*/
diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h
index 600e229..118a859 100644
--- a/kernel/sched/sched.h
+++ b/kernel/sched/sched.h
@@ -23,6 +23,13 @@ extern atomic_long_t calc_load_tasks;
extern long calc_load_fold_active(struct rq *this_rq);
extern void update_cpu_load_active(struct rq *this_rq);
+enum cpu_idle_type {
+ CPU_IDLE,
+ CPU_NOT_IDLE,
+ CPU_NEWLY_IDLE,
+ CPU_MAX_IDLE_TYPES
+};
+
/*
* Helpers for converting nanosecond timing to jiffy resolution
*/
--
1.7.9.5
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] sched: Move enum CPU_[xxx_]IDLE to private sched.h
2014-06-03 12:59 [PATCH] sched: Move enum CPU_[xxx_]IDLE to private sched.h Daniel Lezcano
@ 2014-06-04 8:02 ` Peter Zijlstra
2014-06-05 10:17 ` Ingo Molnar
0 siblings, 1 reply; 6+ messages in thread
From: Peter Zijlstra @ 2014-06-04 8:02 UTC (permalink / raw)
To: Daniel Lezcano; +Cc: linux-kernel
[-- Attachment #1: Type: text/plain, Size: 344 bytes --]
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!
[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] sched: Move enum CPU_[xxx_]IDLE to private sched.h
2014-06-04 8:02 ` Peter Zijlstra
@ 2014-06-05 10:17 ` Ingo Molnar
2014-06-05 10:33 ` Daniel Lezcano
0 siblings, 1 reply; 6+ messages in thread
From: Ingo Molnar @ 2014-06-05 10:17 UTC (permalink / raw)
To: Peter Zijlstra; +Cc: Daniel Lezcano, linux-kernel
* Peter Zijlstra <peterz@infradead.org> 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
Thanks,
Ingo
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] sched: Move enum CPU_[xxx_]IDLE to private sched.h
2014-06-05 10:17 ` Ingo Molnar
@ 2014-06-05 10:33 ` Daniel Lezcano
2014-06-05 10:35 ` Ingo Molnar
0 siblings, 1 reply; 6+ messages in thread
From: Daniel Lezcano @ 2014-06-05 10:33 UTC (permalink / raw)
To: Ingo Molnar, Peter Zijlstra; +Cc: linux-kernel
On 06/05/2014 12:17 PM, Ingo Molnar wrote:
>
> * Peter Zijlstra <peterz@infradead.org> 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.
-- 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
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] sched: Move enum CPU_[xxx_]IDLE to private sched.h
2014-06-05 10:33 ` Daniel Lezcano
@ 2014-06-05 10:35 ` Ingo Molnar
2014-06-05 10:46 ` Daniel Lezcano
0 siblings, 1 reply; 6+ messages in thread
From: Ingo Molnar @ 2014-06-05 10:35 UTC (permalink / raw)
To: Daniel Lezcano; +Cc: Peter Zijlstra, linux-kernel
* Daniel Lezcano <daniel.lezcano@linaro.org> wrote:
> On 06/05/2014 12:17 PM, Ingo Molnar wrote:
> >
> >* Peter Zijlstra <peterz@infradead.org> 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
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] sched: Move enum CPU_[xxx_]IDLE to private sched.h
2014-06-05 10:35 ` Ingo Molnar
@ 2014-06-05 10:46 ` Daniel Lezcano
0 siblings, 0 replies; 6+ messages in thread
From: Daniel Lezcano @ 2014-06-05 10:46 UTC (permalink / raw)
To: Ingo Molnar; +Cc: Peter Zijlstra, linux-kernel
On 06/05/2014 12:35 PM, Ingo Molnar wrote:
>
> * Daniel Lezcano <daniel.lezcano@linaro.org> wrote:
>
>> On 06/05/2014 12:17 PM, Ingo Molnar wrote:
>>>
>>> * Peter Zijlstra <peterz@infradead.org> 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
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2014-06-05 10:46 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-06-03 12:59 [PATCH] sched: Move enum CPU_[xxx_]IDLE to private sched.h Daniel Lezcano
2014-06-04 8:02 ` Peter Zijlstra
2014-06-05 10:17 ` Ingo Molnar
2014-06-05 10:33 ` Daniel Lezcano
2014-06-05 10:35 ` Ingo Molnar
2014-06-05 10:46 ` Daniel Lezcano
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).