62,7 → 62,11 |
void *get_task_model(struct loader_task *current) { |
if (current->local_scheduler == PAR_POSIX) { |
static NRT_TASK_MODEL nrt; |
static fsf_sched_params_t pr; |
|
pr.policy=FSF_POSIX; |
pr.params=&nrt; |
|
nrt_task_default_model(nrt); |
nrt_task_def_save_arrivals(nrt); |
nrt_task_def_ctrl_jet(nrt); |
69,13 → 73,17 |
nrt_task_def_group(nrt,current->group); |
nrt_task_def_usemath(nrt); |
|
return &nrt; |
return ≺ |
|
} |
|
if (current->local_scheduler == PAR_EDF) { |
static HARD_TASK_MODEL ht; |
static fsf_sched_params_t pr; |
|
pr.policy=FSF_EDF; |
pr.params=&ht; |
|
hard_task_default_model(ht); |
hard_task_def_ctrl_jet(ht); |
hard_task_def_mit(ht,TIMESPEC2USEC(¤t->deadline)); |
83,22 → 91,30 |
hard_task_def_group(ht,current->group); |
hard_task_def_aperiodic(ht); |
hard_task_def_usemath(ht); |
return &ht; |
return ≺ |
} |
|
if (current->local_scheduler == PAR_NONE) { |
static DUMMY_TASK_MODEL d; |
static fsf_sched_params_t pr; |
|
pr.policy=FSF_NONE; |
pr.params=&d; |
|
dummy_task_default_model(d); |
dummy_task_def_group(d,current->group); |
|
return &d; |
return ≺ |
} |
|
|
if (current->local_scheduler == PAR_RM) { |
static HARD_TASK_MODEL ht; |
|
static fsf_sched_params_t pr; |
|
pr.policy=FSF_RM; |
pr.params=&ht; |
|
hard_task_default_model(ht); |
hard_task_def_mit(ht,TIMESPEC2USEC(¤t->deadline)); |
hard_task_def_wcet(ht,TIMESPEC2USEC(¤t->wcet)); |
105,7 → 121,8 |
hard_task_def_ctrl_jet(ht); |
hard_task_def_group(ht,current->group); |
hard_task_def_usemath(ht); |
return &ht; |
|
return ≺ |
} |
|
return NULL; |