From 6f4e1a6bd5adb899aa68f3449e4e9291436be7d2 Mon Sep 17 00:00:00 2001 From: Giacomo Bagnoli Date: Mon, 1 Mar 2010 16:45:12 +0100 Subject: Use configure to check when to enable aquosa support --- src/rt-app.c | 18 +++++++++--------- src/rt-app.h | 5 +++-- src/rtapp_args.c | 6 +++--- src/rtapp_types.h | 11 ++++++----- src/rtapp_utils.c | 2 +- 5 files changed, 22 insertions(+), 20 deletions(-) (limited to 'src') diff --git a/src/rt-app.c b/src/rt-app.c index f39d326..912767b 100644 --- a/src/rt-app.c +++ b/src/rt-app.c @@ -54,7 +54,7 @@ void *thread_body(void *arg) timing_point_t *timings; timing_point_t tmp_timing; timing_point_t *curr_timing; -#ifdef AQUOSA +#ifdef HAVE_LIBQRESLIB qres_time_t prev_abs_used_budget = 0; qres_time_t abs_used_budget; #endif @@ -107,7 +107,7 @@ posixrtcommon: timespec_to_usec(&data->deadline) ); break; -#ifdef AQUOSA +#ifdef HAVE_LIBQRESLIB case aquosa: data->params.Q_min = round((timespec_to_usec(&data->min_et) * (( 100.0 + data->sched_prio ) / 100)) / (data->fragment * 1.0)); data->params.Q = round((timespec_to_usec(&data->max_et) * (( 100.0 + data->sched_prio ) / 100)) / (data->fragment * 1.0)); @@ -192,7 +192,7 @@ posixrtcommon: curr_timing->deadline = timespec_to_usec(&data->deadline); curr_timing->duration = timespec_to_usec(&t_diff); curr_timing->slack = timespec_to_lusec(&t_slack); -#ifdef AQUOSA +#ifdef HAVE_LIBQRESLIB if (data->sched_policy == aquosa) { curr_timing->budget = data->params.Q; qres_get_exec_time(data->sid, @@ -222,7 +222,7 @@ posixrtcommon: log_info("[%d] Exiting.", data->ind); fclose(data->log_handler); -#ifdef AQUOSA +#ifdef HAVE_LIBQRESLIB if (data->sched_policy == aquosa) { qres_destroy_server(data->sid); qres_cleanup(); @@ -255,7 +255,7 @@ int main(int argc, char* argv[]) struct timespec t_curr, t_next, t_start; int duration; -#ifdef AQUOSA +#ifdef HAVE_LIBQRESLIB int fragment; #endif @@ -269,7 +269,7 @@ int main(int argc, char* argv[]) {"baselog", 1, 0, 'b'}, {"gnuplot", 1, 0, 'G'}, {"duration", 1, 0, 'D'}, -#ifdef AQUOSA +#ifdef HAVE_LIBQRESLIB {"qos", 0, 0, 'q'}, {"frag",1, 0, 'g'}, #endif @@ -286,7 +286,7 @@ int main(int argc, char* argv[]) threads_data = malloc( sizeof(struct thread_data)); /* parse args */ -#ifdef AQUOSA +#ifdef HAVE_LIBQRESLIB fragment = 1; while (( ch = getopt_long(argc,argv,"D:Ghfrb:s:l:qg:t:", @@ -346,7 +346,7 @@ int main(int argc, char* argv[]) if (duration < 0) usage("Cannot set negative duration"); break; -#ifdef AQUOSA +#ifdef HAVE_LIBQRESLIB case 'q': if (policy != other) usage("Cannot set multiple policies"); @@ -397,7 +397,7 @@ int main(int argc, char* argv[]) tdata->duration = duration; tdata->ind = i; tdata->main_app_start = t_start; -#ifdef AQUOSA +#ifdef HAVE_LIBQRESLIB tdata->fragment = fragment; #endif if (logdir) { diff --git a/src/rt-app.h b/src/rt-app.h index c15d76e..696c39f 100644 --- a/src/rt-app.h +++ b/src/rt-app.h @@ -13,10 +13,11 @@ #include #include "rtapp_types.h" #include "rtapp_args.h" +#include "config.h" -#ifdef AQUOSA +#ifdef HAVE_LIBQRESLIB #include -#endif /* AQUOSA */ +#endif /* HAVE_LIBQRESLIB */ #ifdef LOCKMEM #include diff --git a/src/rtapp_args.c b/src/rtapp_args.c index a48db9e..d6f0f82 100644 --- a/src/rtapp_args.c +++ b/src/rtapp_args.c @@ -13,7 +13,7 @@ usage (const char* msg) printf("-G, --gnuplot\t:\tgenerate gnuplot script (needs -l)\n"); printf("-D, --duration\t:\ttime (in seconds) before stopping threads\n"); -#ifdef AQUOSA +#ifdef HAVE_LIBQRESLIB printf("-q, --qos\t:\tcreate AQuoSA reservation\n"); printf("-g, --frag\t:\tfragment for the reservation\n\n"); printf("POLICY: f=SCHED_FIFO, r=SCHED_RR, o=SCHED_OTHER, q=AQuoSA\n"); @@ -65,7 +65,7 @@ parse_thread_args(char *arg, struct thread_data *tdata, policy_t def_policy) break; case 2: -#ifdef AQUOSA +#ifdef HAVE_LIBQRESLIB if (strcmp(token,"q") == 0) tdata->sched_policy = aquosa; else @@ -131,7 +131,7 @@ parse_thread_args(char *arg, struct thread_data *tdata, policy_t def_policy) case other: sprintf(tdata->sched_policy_descr, "SCHED_OTHER"); break; -#ifdef AQUOSA +#ifdef HAVE_LIBQRESLIB case aquosa: sprintf(tdata->sched_policy_descr, "AQuoSA"); break; diff --git a/src/rtapp_types.h b/src/rtapp_types.h index 49d662f..2ed5753 100644 --- a/src/rtapp_types.h +++ b/src/rtapp_types.h @@ -4,16 +4,17 @@ #include #include #include -#ifdef AQUOSA +#include "config.h" +#ifdef HAVE_LIBQRESLIB #include -#endif /* AQUOSA */ +#endif /* HAVE_LIBQRESLIB */ typedef enum policy_t { other = SCHED_OTHER, rr = SCHED_RR, fifo = SCHED_FIFO -#ifdef AQUOSA +#ifdef HAVE_LIBQRESLIB , aquosa = 1000 #endif } policy_t; @@ -32,7 +33,7 @@ struct thread_data { char sched_policy_descr[16]; int sched_prio; -#ifdef AQUOSA +#ifdef HAVE_LIBQRESLIB int fragment; int sid; qres_params_t params; @@ -50,7 +51,7 @@ typedef struct _timing_point_t { unsigned long deadline; unsigned long duration; long slack; -#ifdef AQUOSA +#ifdef HAVE_LIBQRESLIB qres_time_t budget; qres_time_t used_budget; #endif diff --git a/src/rtapp_utils.c b/src/rtapp_utils.c index 8c7e19b..dbcff25 100644 --- a/src/rtapp_utils.c +++ b/src/rtapp_utils.c @@ -104,7 +104,7 @@ log_timing(FILE *handler, timing_point_t *t) t->duration, t->slack ); -#ifdef AQUOSA +#ifdef HAVE_LIBQRESLIB fprintf(handler, "\t" QRES_TIME_FMT "\t" QRES_TIME_FMT, t->budget, -- cgit v1.2.3