rt-tests/SOURCES/queuelat-use-mfence-for-rdtsc-ordering.patch
2021-09-10 04:02:41 +00:00

32 lines
957 B
Diff

From 5c7ee5d6a0444f785a96811b88e604954a1f1ef4 Mon Sep 17 00:00:00 2001
From: Marcelo Tosatti <mtosatti@redhat.com>
Date: Mon, 7 Jan 2019 15:35:56 -0200
Subject: [PATCH] queuelat: use mfence for rdtsc ordering
cpuid is causing register corruption: use mfence instead.
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
v2: fix signed-off-by line
Signed-off-by: John Kacur <jkacur@redhat.com>
---
src/queuelat/queuelat.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/queuelat/queuelat.c b/src/queuelat/queuelat.c
index 2230d04bf391..3b291f168768 100644
--- a/src/queuelat/queuelat.c
+++ b/src/queuelat/queuelat.c
@@ -265,7 +265,7 @@ static inline unsigned long long __rdtscll(void)
{
DECLARE_ARGS(val, low, high);
- asm volatile("cpuid; rdtsc" : EAX_EDX_RET(val, low, high));
+ asm volatile("mfence; rdtsc" : EAX_EDX_RET(val, low, high));
return EAX_EDX_VAL(val, low, high);
}
--
2.20.1