Skip to content

Commit

Permalink
sched: enable early use of sched_clock()
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Ingo Molnar committed Dec 7, 2007
1 parent 5f9fa8a commit 8ced5f6
Showing 1 changed file with 6 additions and 1 deletion.
7 changes: 6 additions & 1 deletion kernel/sched.c
Original file line number Diff line number Diff line change
Expand Up @@ -488,7 +488,12 @@ unsigned long long cpu_clock(int cpu)

local_irq_save(flags);
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;
local_irq_restore(flags);

Expand Down

0 comments on commit 8ced5f6

Please sign in to comment.