From fbf879ce2acc44b81105df3da8f004e37cbb418e Mon Sep 17 00:00:00 2001
From: Luis Gerhorst <luis.gerhorst@fau.de>
Date: Mon, 18 Jun 2018 23:17:47 +0200
Subject: [PATCH] Wait with getnstimeofday() loop

---
 arch/arm/measuremore/trigger.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/arch/arm/measuremore/trigger.c b/arch/arm/measuremore/trigger.c
index ac2bea7afe795..da09d642b15d1 100644
--- a/arch/arm/measuremore/trigger.c
+++ b/arch/arm/measuremore/trigger.c
@@ -184,7 +184,14 @@ static int memo_trigger(void) {
 	for (unsigned long i = 0; i < reps; i++) {
 		memo_start_run();
 		memo_checkpoint("start");
-		udelay(delay_us);
+		struct timespec start;
+		getnstimeofday(&start);
+		struct timespec delta;
+		do {
+			struct timespec now;
+			getnstimeofday(&now);
+			delta = timespec_sub(now, start);
+		} while (delta.tv_sec == 0 || delta.tv_nsec < delay_ns);
 		memo_checkpoint("stop");
 		memo_stop_run();
 	}
-- 
GitLab