- configurable criteria (-m argument)
        - 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

Reply via email to