mirror of
https://github.com/adulau/aha.git
synced 2024-12-28 03:36:19 +00:00
timers: fix itimer/many thread hang, fix
fix bogus rq dereference: v3 removed the locking but also removed the rq initialization. Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
7086efe1c1
commit
1508487e7f
1 changed files with 5 additions and 1 deletions
|
@ -4042,10 +4042,12 @@ EXPORT_PER_CPU_SYMBOL(kstat);
|
||||||
*/
|
*/
|
||||||
unsigned long long task_delta_exec(struct task_struct *p)
|
unsigned long long task_delta_exec(struct task_struct *p)
|
||||||
{
|
{
|
||||||
struct rq *rq;
|
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
|
struct rq *rq;
|
||||||
u64 ns = 0;
|
u64 ns = 0;
|
||||||
|
|
||||||
|
rq = task_rq_lock(p, &flags);
|
||||||
|
|
||||||
if (task_current(rq, p)) {
|
if (task_current(rq, p)) {
|
||||||
u64 delta_exec;
|
u64 delta_exec;
|
||||||
|
|
||||||
|
@ -4055,6 +4057,8 @@ unsigned long long task_delta_exec(struct task_struct *p)
|
||||||
ns = delta_exec;
|
ns = delta_exec;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
task_rq_unlock(rq, &flags);
|
||||||
|
|
||||||
return ns;
|
return ns;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue