diff options
author | Bjoern B. Brandenburg <bbb@cs.unc.edu> | 2011-02-12 16:40:43 -0500 |
---|---|---|
committer | Glenn Elliott <gelliott@cs.unc.edu> | 2011-11-02 11:32:01 -0400 |
commit | 89174d049ea77b127fb3f8b3bbd8bc2996d0a535 (patch) | |
tree | cd53251376fcc9cfb390ef4ccf7dc5279f561720 /litmus | |
parent | ec77ede8baa013138fe03ff45dd57f7bac50e5d4 (diff) |
bugfix: release master CPU must signal task was picked
Diffstat (limited to 'litmus')
-rw-r--r-- | litmus/sched_cedf.c | 4 | ||||
-rw-r--r-- | 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) | |||
421 | /* Bail out early if we are the release master. | 421 | /* Bail out early if we are the release master. |
422 | * The release master never schedules any real-time tasks. | 422 | * The release master never schedules any real-time tasks. |
423 | */ | 423 | */ |
424 | if (cluster->domain.release_master == entry->cpu) | 424 | if (cluster->domain.release_master == entry->cpu) { |
425 | sched_state_task_picked(); | ||
425 | return NULL; | 426 | return NULL; |
427 | } | ||
426 | #endif | 428 | #endif |
427 | 429 | ||
428 | raw_spin_lock(&cluster->lock); | 430 | 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) | |||
607 | /* Bail out early if we are the release master. | 607 | /* Bail out early if we are the release master. |
608 | * The release master never schedules any real-time tasks. | 608 | * The release master never schedules any real-time tasks. |
609 | */ | 609 | */ |
610 | if (unlikely(cluster->pfair.release_master == cpu_id(state))) | 610 | if (unlikely(cluster->pfair.release_master == cpu_id(state))) { |
611 | sched_state_task_picked(); | ||
611 | return NULL; | 612 | return NULL; |
613 | } | ||
612 | #endif | 614 | #endif |
613 | 615 | ||
614 | raw_spin_lock(cpu_lock(state)); | 616 | raw_spin_lock(cpu_lock(state)); |