From 89174d049ea77b127fb3f8b3bbd8bc2996d0a535 Mon Sep 17 00:00:00 2001 From: "Bjoern B. Brandenburg" Date: Sat, 12 Feb 2011 16:40:43 -0500 Subject: bugfix: release master CPU must signal task was picked --- litmus/sched_cedf.c | 4 +++- litmus/sched_pfair.c | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/litmus/sched_cedf.c b/litmus/sched_cedf.c index 690b94dbd686..4bf61f7dbf3f 100644 --- a/litmus/sched_cedf.c +++ b/litmus/sched_cedf.c @@ -421,8 +421,10 @@ static struct task_struct* cedf_schedule(struct task_struct * prev) /* Bail out early if we are the release master. * The release master never schedules any real-time tasks. */ - if (cluster->domain.release_master == entry->cpu) + if (cluster->domain.release_master == entry->cpu) { + sched_state_task_picked(); return NULL; + } #endif raw_spin_lock(&cluster->lock); diff --git a/litmus/sched_pfair.c b/litmus/sched_pfair.c index e3db82a2bdf8..c95bde87b5d7 100644 --- a/litmus/sched_pfair.c +++ b/litmus/sched_pfair.c @@ -607,8 +607,10 @@ static struct task_struct* pfair_schedule(struct task_struct * prev) /* Bail out early if we are the release master. * The release master never schedules any real-time tasks. */ - if (unlikely(cluster->pfair.release_master == cpu_id(state))) + if (unlikely(cluster->pfair.release_master == cpu_id(state))) { + sched_state_task_picked(); return NULL; + } #endif raw_spin_lock(cpu_lock(state)); -- cgit v1.2.2