]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: The TSC tolerance interval should be closed
authorJiri Denemark <jdenemar@redhat.com>
Tue, 5 Jan 2021 22:53:25 +0000 (23:53 +0100)
committerJiri Denemark <jdenemar@redhat.com>
Wed, 6 Jan 2021 10:24:37 +0000 (11:24 +0100)
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@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
src/qemu/qemu_process.c

index 414e9327d21e396c99747de5472b7b6bc03c1a41..69c517f7a9d0ba1ca1f7eb01fe672cca8b1c44d6 100644 (file)
@@ -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;
     }