mirror of
https://github.com/FEX-Emu/linux.git
synced 2025-02-22 05:16:38 +00:00
sched: sched_clock() lockdep fix
Sitsofe Wheeler bisected the following commit to cause a lockdep to warn about itself and turn itself off: > commit c6531cce6e6e4b99bcda46b6268d6f2d9e30aea4 > Author: Ingo Molnar <mingo@elte.hu> > Date: Mon May 12 21:21:14 2008 +0200 > > sched: do not trace sched_clock do not use raw irq flags in cpu_clock() as it causes lockdep to lose track of the true state of the IRQ flag. Reported-and-bisected-by: Sitsofe Wheeler <sitsofe@yahoo.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
34078a5e44
commit
040ec23d07
@ -889,7 +889,7 @@ unsigned long long notrace cpu_clock(int cpu)
|
||||
unsigned long long prev_cpu_time, time, delta_time;
|
||||
unsigned long flags;
|
||||
|
||||
raw_local_irq_save(flags);
|
||||
local_irq_save(flags);
|
||||
prev_cpu_time = per_cpu(prev_cpu_time, cpu);
|
||||
time = __cpu_clock(cpu) + per_cpu(time_offset, cpu);
|
||||
delta_time = time-prev_cpu_time;
|
||||
@ -898,7 +898,7 @@ unsigned long long notrace cpu_clock(int cpu)
|
||||
time = __sync_cpu_clock(time, cpu);
|
||||
per_cpu(prev_cpu_time, cpu) = time;
|
||||
}
|
||||
raw_local_irq_restore(flags);
|
||||
local_irq_restore(flags);
|
||||
|
||||
return time;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user