| From 346478ac572d231272f99d042355cd6f85e3f6a8 Mon Sep 17 00:00:00 2001 |
| From: Thomas Gleixner <tglx@linutronix.de> |
| Date: Fri, 3 Jul 2009 08:44:26 -0500 |
| Subject: [PATCH] sched:-fix dequeued race |
| |
| commit 8002ed49acefff365937de2a05f8392dfe044e0e in tip. |
| |
| Signed-off-by: Thomas Gleixner <tglx@linutronix.de> |
| Signed-off-by: Ingo Molnar <mingo@elte.hu> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/kernel/sched.c b/kernel/sched.c |
| index fe8d8d3..fa83e6f 100644 |
| --- a/kernel/sched.c |
| +++ b/kernel/sched.c |
| @@ -5496,7 +5496,8 @@ void scheduler_tick(void) |
| raw_spin_lock(&rq->lock); |
| update_rq_clock(rq); |
| update_cpu_load(rq); |
| - curr->sched_class->task_tick(rq, curr, 0); |
| + if (curr != rq->idle && curr->se.on_rq) |
| + curr->sched_class->task_tick(rq, curr, 0); |
| raw_spin_unlock(&rq->lock); |
| |
| perf_event_task_tick(curr); |
| -- |
| 1.7.1 |
| |