From 068d07b20482ec676c2bc84a43601a2967835347 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Tue, 30 Sep 2008 08:28:17 +0200 Subject: [PATCH] --- yaml --- r: 116367 b: refs/heads/master c: 1508487e7f16d992ad23cabd3712563ff912f413 h: refs/heads/master i: 116365: cb3b3215b910610632104874327d3c482bc97b2e 116363: 0d7a377eb34d055d533701997db3eabb49fed0b6 116359: ad27ac6f2d008067238a7d790c4f84d9319060ff 116351: 639b340f8eaee44f9a800d366e311b131a42fb9b v: v3 --- [refs] | 2 +- trunk/kernel/sched.c | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 9e13ca2500e5..f25ae18d8da0 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 7086efe1c1536f6bc160e7d60a9bfd645b91f279 +refs/heads/master: 1508487e7f16d992ad23cabd3712563ff912f413 diff --git a/trunk/kernel/sched.c b/trunk/kernel/sched.c index 29a3152c45db..ebb03def564b 100644 --- a/trunk/kernel/sched.c +++ b/trunk/kernel/sched.c @@ -4042,10 +4042,12 @@ EXPORT_PER_CPU_SYMBOL(kstat); */ unsigned long long task_delta_exec(struct task_struct *p) { - struct rq *rq; unsigned long flags; + struct rq *rq; u64 ns = 0; + rq = task_rq_lock(p, &flags); + if (task_current(rq, p)) { u64 delta_exec; @@ -4055,6 +4057,8 @@ unsigned long long task_delta_exec(struct task_struct *p) ns = delta_exec; } + task_rq_unlock(rq, &flags); + return ns; }