fsa_scenario_init_data.ovhd_data.np =
frsh_rel_time_to_sa_time(frsh_usec_to_rel_time(0));
+ DEBUG(FRESCAN_BWRES_SA_ENABLE_DEBUG,
+ "init the scenario min_prio:%d max_prio:%d\n",
+ params->min_prio, params->max_prio);
+
ret = frsh_sa_scenario_init(&scenario->fsa_scenario,
&fsa_scenario_init_data);
if (ret != 0) return -1;
list_add_tail(&sa_vres->list,
&scenario->vres_head.list);
+ DEBUG(FRESCAN_BWRES_SA_ENABLE_DEBUG,
+ "add contract, node:%d ss:%d globalid:%d\n",
+ node, ss, sa_vres->fsa_vres_global_id);
+
ret = frsh_sa_scenario_add_vres(&scenario->fsa_scenario,
&sa_vres->contract,
sa_vres->fsa_vres_global_id);
sa_vres->contract = *contract;
+ DEBUG(FRESCAN_BWRES_SA_ENABLE_DEBUG,
+ "update contract node:%d ss:%d globalid:%d\n",
+ node, ss, sa_vres->fsa_vres_global_id);
+
ret = frsh_sa_scenario_modify_vres(&scenario->fsa_scenario,
sa_vres->fsa_vres_global_id,
&sa_vres->contract);
*contract = sa_vres->contract;
}
+ DEBUG(FRESCAN_BWRES_SA_ENABLE_DEBUG,
+ "remove contract, node:%d ss:%d globalid:%d\n",
+ node, ss, sa_vres->fsa_vres_global_id);
+
ret = frsh_sa_scenario_del_vres(&scenario->fsa_scenario,
sa_vres->fsa_vres_global_id);
if (ret != 0) return -1;
{
int ret;
+ DEBUG(FRESCAN_BWRES_SA_ENABLE_DEBUG, "init the fsa scenario\n");
+
ret = frsh_sa_init_analysis(&scenario->fsa_scenario);
if (ret != 0) return -1;
ret = frsh_sa_assign_priorities(&scenario->fsa_scenario);
if (ret != 0) return -1;
+ DEBUG(FRESCAN_BWRES_SA_ENABLE_DEBUG, "do scheduling test\n");
+
ret = frsh_sa_sched_test(&scenario->fsa_scenario, is_schedulable);
if (ret != 0) return -1;
+ DEBUG(FRESCAN_BWRES_SA_ENABLE_DEBUG, "%s\n",
+ (*is_schedulable) ? "OK" : "FAILED");
+
return 0;
}
{
int ret;
+ DEBUG(FRESCAN_BWRES_SA_ENABLE_DEBUG, "distribute sc\n");
+
ret = frsh_sa_distribute_spare(&scenario->fsa_scenario);
if (ret != 0) return -1;