Hi,
On Thu, 6 Mar 2008 13:37:56 +0100 Gilles Carry <[EMAIL PROTECTED]> wrote:
> - configurable criteria (-m argument)
Maybe a lot of the realtime tests could benefit from such an addition.
The criterion for PASS/FAIL should IMHO be configurable, it won't be the
same for an embedded 57 MHz ARM7 or a 10.25GHz Power9. It will also depend
on the RT goals the system has been designed for.
Sebastien.
> - configurable iterations
> - check stats init return codes
>
> Signed-off-by: Gilles Carry <[EMAIL PROTECTED]>
> Cc: Darren Hart <[EMAIL PROTECTED]>
> Cc: Tim Chavez <[EMAIL PROTECTED]>
> ---
> .../realtime/func/hrtimer-prio/hrtimer-prio.c | 32 +++++++++++++------
> 1 files changed, 22 insertions(+), 10 deletions(-)
>
> diff --git a/testcases/realtime/func/hrtimer-prio/hrtimer-prio.c
> b/testcases/realtime/func/hrtimer-prio/hrtimer-prio.c
> index 3fdda64..f22ca83 100644
> --- a/testcases/realtime/func/hrtimer-prio/hrtimer-prio.c
> +++ b/testcases/realtime/func/hrtimer-prio/hrtimer-prio.c
> @@ -49,7 +49,7 @@
> #include <libjvmsim.h>
> #include <libstats.h>
>
> -#define DEF_MED_PRIO 60 // (softirqd-hrtimer,98]
> +#define DEF_MED_PRIO 60 // (softirqd-hrtimer,98)
> #define DEF_ITERATIONS 10000
> #define HIST_BUCKETS 100
> #define DEF_BUSY_TIME 10 // Duration of busy work in milliseconds
> @@ -58,10 +58,10 @@
>
> static int run_jvmsim = 0;
> static int med_prio = DEF_MED_PRIO;
> -static int high_prio = DEF_MED_PRIO+1;
> +static int high_prio;
> static int busy_time = DEF_BUSY_TIME;
> static int iterations = DEF_ITERATIONS;
> -static unsigned long criteria = DEF_CRITERIA; // FIXME: make
> configurable
> +static unsigned long criteria = DEF_CRITERIA;
> static int busy_threads;
>
> static stats_container_t dat;
> @@ -78,6 +78,7 @@ void usage(void)
> printf(" -i# #:number of iterations, defaults to %d\n",
> DEF_ITERATIONS);
> printf(" -n# #:number of busy threads, defaults to
> NR_CPUS*2\n");
> printf(" -f# #:rt fifo priority of busy threads (1,98),
> defaults to %d\n", DEF_MED_PRIO);
> + printf(" -m# #:maximum timer latency in microseconds,
> defaults to %d\n", DEF_CRITERIA);
> }
>
> int parse_args(int c, char *v)
> @@ -99,11 +100,12 @@ int parse_args(int c, char *v)
> break;
> case 'f':
> med_prio = MIN(atoi(v), 98);
> - high_prio = med_prio+1;
> break;
> case 'i':
> - printf("Setting iterations disabled\n");
> - // iterations = atoi(v);
> + iterations = atoi(v);
> + break;
> + case 'm':
> + criteria = atoi(v);
> break;
> default:
> handled = 0;
> @@ -155,7 +157,8 @@ int main(int argc, char *argv[])
> int t_id;
> setup();
> busy_threads = 2 * sysconf(_SC_NPROCESSORS_ONLN); // default
> busy_threads
> - rt_init("f:i:jhn:t:", parse_args, argc, argv);
> + rt_init("f:i:jhn:t:m:", parse_args, argc, argv);
> + high_prio = med_prio + 1;
>
> // Set main()'s prio to one above the timer_thread so it is sure to not
> // be starved
> @@ -183,9 +186,18 @@ int main(int argc, char *argv[])
>
> stats_container_t hist;
> stats_quantiles_t quantiles;
> - stats_container_init(&dat, iterations);
> - stats_container_init(&hist, HIST_BUCKETS);
> - stats_quantiles_init(&quantiles, (int)log10(iterations));
> + if (stats_container_init(&dat, iterations)) {
> + printf("Cannot init stat containers for dat\n");
> + exit(1);
> + }
> + if (stats_container_init(&hist, HIST_BUCKETS)) {
> + printf("Cannot init stat containers for hist\n");
> + exit(1);
> + }
> + if (stats_quantiles_init(&quantiles, (int)log10(iterations))) {
> + printf("Cannot init stat quantiles\n");
> + exit(1);
> + }
>
> t_id = create_fifo_thread(timer_thread, NULL, high_prio);
> if (t_id == -1) {
> --
> 1.5.4.3.450.gb92176
>
>
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list