Commit fa2dd441 authored by Linus Torvalds's avatar Linus Torvalds

Merge git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched

* git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched:
  sched: enable early use of sched_clock()
  lockdep: make cli/sti annotation warnings clearer
parents e17587b5 8ced5f69
...@@ -2654,10 +2654,15 @@ static void check_flags(unsigned long flags) ...@@ -2654,10 +2654,15 @@ static void check_flags(unsigned long flags)
if (!debug_locks) if (!debug_locks)
return; return;
if (irqs_disabled_flags(flags)) if (irqs_disabled_flags(flags)) {
DEBUG_LOCKS_WARN_ON(current->hardirqs_enabled); if (DEBUG_LOCKS_WARN_ON(current->hardirqs_enabled)) {
else printk("possible reason: unannotated irqs-off.\n");
DEBUG_LOCKS_WARN_ON(!current->hardirqs_enabled); }
} else {
if (DEBUG_LOCKS_WARN_ON(!current->hardirqs_enabled)) {
printk("possible reason: unannotated irqs-on.\n");
}
}
/* /*
* We dont accurately track softirq state in e.g. * We dont accurately track softirq state in e.g.
......
...@@ -488,6 +488,11 @@ unsigned long long cpu_clock(int cpu) ...@@ -488,6 +488,11 @@ unsigned long long cpu_clock(int cpu)
local_irq_save(flags); local_irq_save(flags);
rq = cpu_rq(cpu); rq = cpu_rq(cpu);
/*
* 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); update_rq_clock(rq);
now = rq->clock; now = rq->clock;
local_irq_restore(flags); local_irq_restore(flags);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment