sum_utilization+= budget*100/period;
}
- *schedulable = sum_utilization < 100;
+ *schedulable = sum_utilization <= 88; // 100;
if (*schedulable) {
scenario->utilization = sum_utilization;
}
- printf("=> %s\n", *schedulable?"schedulable":"not schedulable");
+ ul_logmsg("=> %s\n", *schedulable?"schedulable":"not schedulable");
return 0;
}
-static const struct fres_res_manager frm = {
+static struct fres_res_manager frm = {
.res_type = FRSH_RT_PROCESSOR,
- .res_id = 0,
+ .res_id = FRSH_CPU_ID_DEFAULT,
.admission_test = aqcpu_admtest,
.name = "AQuoSA",
.priv = NULL
printf(" -l, --loglevel <number>|<domain>=<number>,...\n");
}
-int main(int argc, char *argv[])
+int forb_main(forb_orb orb, int argc, char *argv[])
{
- forb_orb orb;
int ret;
forb_init_attr_t attr = { .orb_id = "org.frescor.frm.aqcpu" };
int opt;
+ bool opt_daemon = false;
+ char *opt_pidfile = NULL;
ul_logreg_domain(&ulogd_frm_aqcpu);
- while ((opt = getopt_long(argc, argv, "l:", &long_opts[0], NULL)) != EOF) {
+ while ((opt = getopt_long(argc, argv, "hl:", &long_opts[0], NULL)) != EOF) {
switch (opt) {
case 'l':
ul_log_domain_arg2levels(optarg);
}
}
- orb = forb_init(&argc, &argv, &attr);
- if (!orb) error(1, errno, "forb_init");
-
+
+ frm.res_id = frsh_get_local_cpu_id();
ret = frm_register_and_run(orb, &frm);
if (ret != 0) {