mirror of https://gitee.com/openkylin/linux.git
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
This commit is contained in:
commit
fa2dd441df
|
@ -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.
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
Loading…
Reference in New Issue