parent
5fec0e0218
commit
86ff06cd73
|
@ -102,6 +102,9 @@ linux (4.19.17-1) UNRELEASED; urgency=medium
|
||||||
* [arm64] enable ARM_CCI_PMU so ARM_CCI400_PMU and ARM_CCI5xx_PMU options
|
* [arm64] enable ARM_CCI_PMU so ARM_CCI400_PMU and ARM_CCI5xx_PMU options
|
||||||
get really enabled.
|
get really enabled.
|
||||||
|
|
||||||
|
[ Salvatore Bonaccorso ]
|
||||||
|
* [x86] kvmclock: set offset for kvm unstable clock (Closes: #918036)
|
||||||
|
|
||||||
-- Luca Boccassi <bluca@debian.org> Fri, 18 Jan 2019 19:09:06 +0000
|
-- Luca Boccassi <bluca@debian.org> Fri, 18 Jan 2019 19:09:06 +0000
|
||||||
|
|
||||||
linux (4.19.16-1) unstable; urgency=medium
|
linux (4.19.16-1) unstable; urgency=medium
|
||||||
|
|
45
debian/patches/bugfix/x86/x86-kvmclock-set-offset-for-kvm-unstable-clock.patch
vendored
Normal file
45
debian/patches/bugfix/x86/x86-kvmclock-set-offset-for-kvm-unstable-clock.patch
vendored
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
From: Pavel Tatashin <pasha.tatashin@soleen.com>
|
||||||
|
Date: Sat, 26 Jan 2019 12:49:56 -0500
|
||||||
|
Subject: x86/kvmclock: set offset for kvm unstable clock
|
||||||
|
Origin: https://patchwork.kernel.org/patch/10782557/
|
||||||
|
Bug-Debian: https://bugs.debian.org/918036
|
||||||
|
|
||||||
|
VMs may show incorrect uptime and dmesg printk offsets on hypervisors with
|
||||||
|
unstable clock. The problem is produced when VM is rebooted without exiting
|
||||||
|
from qemu.
|
||||||
|
|
||||||
|
The fix is to calculate clock offset not only for stable clock but for
|
||||||
|
unstable clock as well, and use kvm_sched_clock_read() which substracts
|
||||||
|
the offset for both clocks.
|
||||||
|
|
||||||
|
This is safe, because pvclock_clocksource_read() does the right thing and
|
||||||
|
makes sure that clock always goes forward, so once offset is calculated
|
||||||
|
with unstable clock, we won't get new reads that are smaller than offset,
|
||||||
|
and thus won't get negative results.
|
||||||
|
|
||||||
|
Thank you Jon DeVree for helping to reproduce this issue.
|
||||||
|
|
||||||
|
Fixes: 857baa87b642 ("sched/clock: Enable sched clock early")
|
||||||
|
|
||||||
|
Reported-by: Dominique Martinet <asmadeus@codewreck.org>
|
||||||
|
Signed-off-by: Pavel Tatashin <pasha.tatashin@soleen.com>
|
||||||
|
[carnil: Backport to 4.19 for context changes]
|
||||||
|
---
|
||||||
|
arch/x86/kernel/kvmclock.c | 6 +-----
|
||||||
|
1 file changed, 1 insertion(+), 5 deletions(-)
|
||||||
|
|
||||||
|
--- a/arch/x86/kernel/kvmclock.c
|
||||||
|
+++ b/arch/x86/kernel/kvmclock.c
|
||||||
|
@@ -117,11 +117,8 @@ static u64 kvm_sched_clock_read(void)
|
||||||
|
|
||||||
|
static inline void kvm_sched_clock_init(bool stable)
|
||||||
|
{
|
||||||
|
- if (!stable) {
|
||||||
|
- pv_time_ops.sched_clock = kvm_clock_read;
|
||||||
|
+ if (!stable)
|
||||||
|
clear_sched_clock_stable();
|
||||||
|
- return;
|
||||||
|
- }
|
||||||
|
|
||||||
|
kvm_sched_clock_offset = kvm_clock_read();
|
||||||
|
pv_time_ops.sched_clock = kvm_sched_clock_read;
|
|
@ -79,6 +79,7 @@ bugfix/arm64/arm64-acpi-Add-fixup-for-HPE-m400-quirks.patch
|
||||||
bugfix/x86/x86-32-disable-3dnow-in-generic-config.patch
|
bugfix/x86/x86-32-disable-3dnow-in-generic-config.patch
|
||||||
bugfix/powerpc/powerpc-fix-mcpu-options-for-spe-only-compiler.patch
|
bugfix/powerpc/powerpc-fix-mcpu-options-for-spe-only-compiler.patch
|
||||||
bugfix/m68k/m68k-build-with-ffreestanding.patch
|
bugfix/m68k/m68k-build-with-ffreestanding.patch
|
||||||
|
bugfix/x86/x86-kvmclock-set-offset-for-kvm-unstable-clock.patch
|
||||||
|
|
||||||
# Arch features
|
# Arch features
|
||||||
features/mips/MIPS-increase-MAX-PHYSMEM-BITS-on-Loongson-3-only.patch
|
features/mips/MIPS-increase-MAX-PHYSMEM-BITS-on-Loongson-3-only.patch
|
||||||
|
|
Loading…
Reference in New Issue