Skip to content

Commit

Permalink
Merge git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-s…
Browse files Browse the repository at this point in the history
…ched

* 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
  • Loading branch information
Linus Torvalds committed Dec 7, 2007
2 parents e17587b + 8ced5f6 commit fa2dd44
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 5 deletions.
13 changes: 9 additions & 4 deletions kernel/lockdep.c
Original file line number Diff line number Diff line change
Expand Up @@ -2654,10 +2654,15 @@ static void check_flags(unsigned long flags)
if (!debug_locks)
return;

if (irqs_disabled_flags(flags))
DEBUG_LOCKS_WARN_ON(current->hardirqs_enabled);
else
DEBUG_LOCKS_WARN_ON(!current->hardirqs_enabled);
if (irqs_disabled_flags(flags)) {
if (DEBUG_LOCKS_WARN_ON(current->hardirqs_enabled)) {
printk("possible reason: unannotated irqs-off.\n");
}
} 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.
Expand Down
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 fa2dd44

Please sign in to comment.