diff options
author | Jeremy Erickson <jerickso@cs.unc.edu> | 2013-05-02 17:20:07 -0400 |
---|---|---|
committer | Jeremy Erickson <jerickso@cs.unc.edu> | 2013-05-02 17:20:07 -0400 |
commit | c622ef53527c961a83c5c2dd0dc9b8c9c450a0be (patch) | |
tree | 664b8a6d097ffa7bf683a26f466ed96b35ffb7c4 /litmus/sched_edf_os.c | |
parent | be1e926439953fc3ba403c28c37c0c8128567a4e (diff) |
Change ordering of fraction array and add first_cpu back
Diffstat (limited to 'litmus/sched_edf_os.c')
-rw-r--r-- | litmus/sched_edf_os.c | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/litmus/sched_edf_os.c b/litmus/sched_edf_os.c index 1c633b591412..ba049adc8154 100644 --- a/litmus/sched_edf_os.c +++ b/litmus/sched_edf_os.c | |||
@@ -40,8 +40,8 @@ DEFINE_PER_CPU(edfos_domain_t, edfos_domains); | |||
40 | #define wrong_cpu(t) is_migrat_task((t)) \ | 40 | #define wrong_cpu(t) is_migrat_task((t)) \ |
41 | && task_cpu((t)) != get_partition((t)) | 41 | && task_cpu((t)) != get_partition((t)) |
42 | /* Manipulate share for current cpu */ | 42 | /* Manipulate share for current cpu */ |
43 | #define cur_cpu_fract_num(t) edfos_params(t).fraction[0][get_partition(t)] | 43 | #define cur_cpu_fract_num(t) edfos_params(t).fraction[get_partition(t)][0] |
44 | #define cur_cpu_fract_den(t) edfos_params(t).fraction[1][get_partition(t)] | 44 | #define cur_cpu_fract_den(t) edfos_params(t).fraction[get_partition(t)][1] |
45 | /* Get job number for current cpu */ | 45 | /* Get job number for current cpu */ |
46 | #define cur_cpu_job_no(t) \ | 46 | #define cur_cpu_job_no(t) \ |
47 | tsk_rt(t)->semi_part.cpu_job_no[get_partition(t)] | 47 | tsk_rt(t)->semi_part.cpu_job_no[get_partition(t)] |
@@ -293,8 +293,8 @@ static int next_cpu_for_job(struct task_struct *t) | |||
293 | &edfos_params(t).release_queue); | 293 | &edfos_params(t).release_queue); |
294 | cpu = ((int*)node->value) - edfos_params(t).heap_data; | 294 | cpu = ((int*)node->value) - edfos_params(t).heap_data; |
295 | *((int*)node->value) = compute_pfair_deadline( | 295 | *((int*)node->value) = compute_pfair_deadline( |
296 | edfos_params(t).fraction[0][cpu], | 296 | edfos_params(t).fraction[cpu][0], |
297 | edfos_params(t).fraction[1][cpu], | 297 | edfos_params(t).fraction[cpu][1], |
298 | tsk_rt(t)->semi_part.cpu_job_no[cpu] + 1); | 298 | tsk_rt(t)->semi_part.cpu_job_no[cpu] + 1); |
299 | bheap_insert(fakepfair_ready_order, | 299 | bheap_insert(fakepfair_ready_order, |
300 | &edfos_params(t).ready_queue, node); | 300 | &edfos_params(t).ready_queue, node); |
@@ -307,16 +307,16 @@ static int next_cpu_for_job(struct task_struct *t) | |||
307 | &edfos_params(t).ready_queue); | 307 | &edfos_params(t).ready_queue); |
308 | cpu = ((int*)node->value) - edfos_params(t).heap_data; | 308 | cpu = ((int*)node->value) - edfos_params(t).heap_data; |
309 | 309 | ||
310 | next_rel = compute_pfair_release(edfos_params(t).fraction[0][cpu], | 310 | next_rel = compute_pfair_release(edfos_params(t).fraction[cpu][0], |
311 | edfos_params(t).fraction[1][cpu], | 311 | edfos_params(t).fraction[cpu][1], |
312 | tsk_rt(t)->semi_part.cpu_job_no[cpu] | 312 | tsk_rt(t)->semi_part.cpu_job_no[cpu] |
313 | + 1); | 313 | + 1); |
314 | if (next_rel <= tsk_rt(t)->job_params.job_no) | 314 | if (next_rel <= tsk_rt(t)->job_params.job_no) |
315 | { | 315 | { |
316 | /* Next subtask already released. */ | 316 | /* Next subtask already released. */ |
317 | (*(int*)node->value) = compute_pfair_deadline( | 317 | (*(int*)node->value) = compute_pfair_deadline( |
318 | edfos_params(t).fraction[0][cpu], | 318 | edfos_params(t).fraction[cpu][0], |
319 | edfos_params(t).fraction[1][cpu], | 319 | edfos_params(t).fraction[cpu][1], |
320 | tsk_rt(t)->semi_part.cpu_job_no[cpu] + | 320 | tsk_rt(t)->semi_part.cpu_job_no[cpu] + |
321 | 1); | 321 | 1); |
322 | bheap_insert(fakepfair_ready_order, | 322 | bheap_insert(fakepfair_ready_order, |
@@ -485,11 +485,11 @@ static void edfos_task_new(struct task_struct * t, int on_rq, int running) | |||
485 | 485 | ||
486 | for (i = 0; i < NR_CPUS; i++) | 486 | for (i = 0; i < NR_CPUS; i++) |
487 | { | 487 | { |
488 | if (edfos_params(t).fraction[0][i] > 0) | 488 | if (edfos_params(t).fraction[i][0] > 0) |
489 | { | 489 | { |
490 | edfos_params(t).heap_data[i] = compute_pfair_deadline( | 490 | edfos_params(t).heap_data[i] = compute_pfair_deadline( |
491 | edfos_params(t).fraction[0][i], | 491 | edfos_params(t).fraction[i][0], |
492 | edfos_params(t).fraction[1][i], 0); | 492 | edfos_params(t).fraction[i][1], 0); |
493 | bheap_add(fakepfair_ready_order, | 493 | bheap_add(fakepfair_ready_order, |
494 | &edfos_params(t).ready_queue, | 494 | &edfos_params(t).ready_queue, |
495 | &edfos_params(t).heap_data[i], GFP_ATOMIC); | 495 | &edfos_params(t).heap_data[i], GFP_ATOMIC); |