diff mbox

[i-g-t] igt/kms_cursor_legacy: wrap __builtin_ia32_pause inside cpu_relax

Message ID 1465287606-16648-1-git-send-email-tomeu.vizoso@collabora.com (mailing list archive)
State New, archived
Headers show

Commit Message

Tomeu Vizoso June 7, 2016, 8:20 a.m. UTC
So that we can add an alternative implementation for the other arches.
This is basically what the kernel does.

Signed-off-by: Tomeu Vizoso <tomeu.vizoso@collabora.com>
---
 tests/kms_cursor_legacy.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
diff mbox

Patch

diff --git a/tests/kms_cursor_legacy.c b/tests/kms_cursor_legacy.c
index 5cb26d1c25e5..8c2d726f9d15 100644
--- a/tests/kms_cursor_legacy.c
+++ b/tests/kms_cursor_legacy.c
@@ -28,6 +28,12 @@ 
 #include "igt.h"
 #include "igt_stats.h"
 
+#if defined(__x86_64__) || defined(__i386__)
+#define cpu_relax()	__builtin_ia32_pause()
+#else
+#define cpu_relax()	asm volatile("": : :"memory")
+#endif
+
 IGT_TEST_DESCRIPTION("Stress legacy cursor ioctl");
 
 struct data {
@@ -111,7 +117,7 @@  static void stress(struct data *data,
 			sched_setaffinity(getpid(), sizeof(cpu_set_t), &allowed);
 			igt_until_timeout(timeout) {
 				count++;
-				__builtin_ia32_pause();
+				cpu_relax();
 			}
 			igt_debug("[hog:%d] count=%llu\n", child, count);
 		}