summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOleksij Rempel <o.rempel@pengutronix.de>2017-10-06 15:50:39 +0200
committerOleksij Rempel <o.rempel@pengutronix.de>2017-10-06 15:50:52 +0200
commit969796defb3e1f0e29135f5226eaad8ac6ca5316 (patch)
treea823b67dba7bcc21cb11b1cac3445946d73854e1
parent22d6203901e892771af08269e8665546e660d52f (diff)
downloadOSELAS.BSP-Pengutronix-DualKit-969796defb3e1f0e29135f5226eaad8ac6ca5316.tar.gz
OSELAS.BSP-Pengutronix-DualKit-969796defb3e1f0e29135f5226eaad8ac6ca5316.tar.xz
rttest: add storage ranges
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
-rw-r--r--local_src/rttest/rttest.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/local_src/rttest/rttest.c b/local_src/rttest/rttest.c
index e34807c..38c6c6a 100644
--- a/local_src/rttest/rttest.c
+++ b/local_src/rttest/rttest.c
@@ -46,14 +46,19 @@ void timespec_add_ns(struct timespec *ts, unsigned ns)
}
}
+#define MAX_HIST 10
+#define HIST_STEP_NS 1000000
+
int main (void)
{
struct timespec start_time, time1, time2;
+ unsigned long int hist[MAX_HIST];
unsigned long long int jitter;
unsigned long long int min_jit = 999999999999999ULL;
unsigned long long int max_jit = 0ULL;
unsigned long long sum_jit = 0ULL;
unsigned samples = 0;
+ int i;
mlockall(MCL_CURRENT | MCL_FUTURE);
@@ -63,6 +68,9 @@ int main (void)
/* Initialize the timer that will be used in nanosleep(), */
/* to a value of 100 us */
+ for (i = 0; i < MAX_HIST; i++) {
+ hist[i] = 0;
+ }
printf("Measurement, please wait 1 minute...\n");
fflush(stdout);
@@ -88,6 +96,13 @@ int main (void)
min_jit = MIN(min_jit, jitter);
max_jit = MAX(max_jit, jitter);
sum_jit += jitter;
+ for (i = 0; i < MAX_HIST; i++) {
+ if ((HIST_STEP_NS * i < jitter &&
+ HIST_STEP_NS * (i + 1) > jitter) || MAX_HIST == i + 1) {
+ hist[i] += 1;
+ }
+ }
+
}
++samples;
} while (timespec_diff(&time2, &start_time) < 60000000000ULL);
@@ -97,5 +112,8 @@ int main (void)
printf ("Min latency: %llu us\n", min_jit / 1000);
printf ("Max latency: %llu us\n", max_jit / 1000);
printf ("Average latency: %llu us\n", (sum_jit / samples) / 1000);
+ for (i = 0; i < MAX_HIST; i++) {
+ printf ("%lu us: %lu\n", (i * HIST_STEP_NS), hist[i]);
+ }
exit(EXIT_SUCCESS);
}