diff options
author | Oleksij Rempel <o.rempel@pengutronix.de> | 2017-10-06 15:50:39 +0200 |
---|---|---|
committer | Oleksij Rempel <o.rempel@pengutronix.de> | 2017-10-06 15:50:52 +0200 |
commit | 969796defb3e1f0e29135f5226eaad8ac6ca5316 (patch) | |
tree | a823b67dba7bcc21cb11b1cac3445946d73854e1 | |
parent | 22d6203901e892771af08269e8665546e660d52f (diff) | |
download | OSELAS.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.c | 18 |
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); } |