sched: enable early use of sched_clock()
some platforms have sched_clock() implementations that cannot be called very early during wakeup. If it's called it might hang or crash in hard to debug ways. So only call update_rq_clock() [which calls sched_clock()] if sched_init() has already been called. (rq->idle is NULL before the scheduler is initialized.) Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
5f9fa8a62d
commit
8ced5f69e4
|
@ -488,7 +488,12 @@ unsigned long long cpu_clock(int cpu)
|
||||||
|
|
||||||
local_irq_save(flags);
|
local_irq_save(flags);
|
||||||
rq = cpu_rq(cpu);
|
rq = cpu_rq(cpu);
|
||||||
update_rq_clock(rq);
|
/*
|
||||||
|
* Only call sched_clock() if the scheduler has already been
|
||||||
|
* initialized (some code might call cpu_clock() very early):
|
||||||
|
*/
|
||||||
|
if (rq->idle)
|
||||||
|
update_rq_clock(rq);
|
||||||
now = rq->clock;
|
now = rq->clock;
|
||||||
local_irq_restore(flags);
|
local_irq_restore(flags);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue