mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-29 05:55:02 +08:00
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)
|
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,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
Block a user