38 lines
1.1 KiB
Diff
38 lines
1.1 KiB
Diff
From 3769f10f4c38d24ac35cb44e0a7b0cd6226e326a Mon Sep 17 00:00:00 2001
|
|
From: Thomas Gleixner <tglx@linutronix.de>
|
|
Date: Sun, 6 Nov 2011 12:26:18 +0100
|
|
Subject: [PATCH 118/171] x86: kvm Require const tsc for RT
|
|
|
|
Non constant TSC is a nightmare on bare metal already, but with
|
|
virtualization it becomes a complete disaster because the workarounds
|
|
are horrible latency wise. That's also a preliminary for running RT in
|
|
a guest on top of a RT host.
|
|
|
|
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
|
---
|
|
arch/x86/kvm/x86.c | 8 ++++++++
|
|
1 file changed, 8 insertions(+)
|
|
|
|
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
|
|
index 7f41e1f9f0b4..cd3120ae0b51 100644
|
|
--- a/arch/x86/kvm/x86.c
|
|
+++ b/arch/x86/kvm/x86.c
|
|
@@ -8669,6 +8669,14 @@ int kvm_arch_init(void *opaque)
|
|
goto out;
|
|
}
|
|
|
|
+#ifdef CONFIG_PREEMPT_RT
|
|
+ if (!boot_cpu_has(X86_FEATURE_CONSTANT_TSC)) {
|
|
+ pr_err("RT requires X86_FEATURE_CONSTANT_TSC\n");
|
|
+ r = -EOPNOTSUPP;
|
|
+ goto out;
|
|
+ }
|
|
+#endif
|
|
+
|
|
r = -ENOMEM;
|
|
x86_fpu_cache = kmem_cache_create("x86_fpu", sizeof(struct fpu),
|
|
__alignof__(struct fpu), SLAB_ACCOUNT,
|
|
--
|
|
2.38.1
|
|
|