[libvirt PATCH] qemu: The TSC tolerance interval should be closed

Jiri Denemark jdenemar at redhat.com
Tue Jan 5 23:07:42 UTC 2021


The kernel refuses to set guest TSC frequency less than a minimum
frequency or greater than maximum frequency (both computed based on the
host TSC frequency). When writing the libvirt code with a reversed logic
(return success when the requested frequency falls within the tolerance
interval) I forgot to include the boundaries.

Fixes: d8e5b4560006590668d4669f54a46b08ec14c1a2
https://bugzilla.redhat.com/show_bug.cgi?id=1839095

Signed-off-by: Jiri Denemark <jdenemar at redhat.com>
---
 src/qemu/qemu_process.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
index e7421b415f..e9802809a5 100644
--- a/src/qemu/qemu_process.c
+++ b/src/qemu/qemu_process.c
@@ -5403,7 +5403,7 @@ qemuProcessStartValidateTSC(virQEMUDriverPtr driver,
               tsc->frequency, virTristateBoolTypeToString(tsc->scaling),
               tolerance);
 
-    if (freq > minFreq && freq < maxFreq) {
+    if (freq >= minFreq && freq <= maxFreq) {
         VIR_DEBUG("Requested TSC frequency is within tolerance interval");
         return 0;
     }
-- 
2.30.0




More information about the libvir-list mailing list