Enable Invariant TSC Support
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux-azure (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Bionic |
Invalid
|
Undecided
|
Unassigned | ||
Eoan |
Won't Fix
|
Medium
|
Unassigned | ||
Focal |
Fix Released
|
Medium
|
Unassigned | ||
linux-azure-4.15 (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
Bionic |
Fix Released
|
Medium
|
Unassigned | ||
Eoan |
Invalid
|
Undecided
|
Unassigned | ||
Focal |
Invalid
|
Undecided
|
Unassigned |
Bug Description
[Impact]
Microsoft would like to request two commits in all releases supported on Azure. These commits benefit SAP workloads.
These requested commits will enable support for Invariant TSC in Linux guest VMs. The invariant TSC means that the TSC continues at a fixed rate regardless of the C-state or frequency of the processor (as long as the processor remains in the ACPI S0 state).
These patches will allow guests to access the HvSyntheticInva
The following two commits enable support:
9e0333ae38ee ("clocksource/
dce7cd62754b ("x86/hyperv: Allow guests to enable InvariantTSC")
[Test Case]
If the hardware supports TSC scaling, Hyper-V will set bit 15 of the HV_PARTITION_
After setting the synthetic MSR, CPUID will enumerate support for InvariantTSC.
To check available and current clocksource, run the following:
cat /sys/devices/
cat /sys/devices/
[Regression Potential]
If the patches fail to enable support for Invariant TSC or doesn't set the TSC clocksource as the default when Invariant TSC is available, while this would be an error it wouldn't be a regression. Possibility of finding problems using the TSC clocksource once support has been enabled.
a 4.15 test kernel was sent to Microsoft for testing. Result came back verified to allow enabling support for Invariant TSC and there was no report of known regression.
The 4.15, 5.3, & 5.4 kernels with patches applied were boot tested and verified no changes to dmesg logs relating to clocksource or tsc. tsc autotest ran successfully on the 4.15 before and after applying the requested patches.
We are no longer interested in applying to Eoan/linux-azure (5.3) and
only targeted to apply the patches to bionic/azure-4.15 and focal/azure.
CVE References
Changed in linux-azure (Ubuntu Bionic): | |
status: | New → Invalid |
Changed in linux-azure (Ubuntu Eoan): | |
status: | New → Confirmed |
Changed in linux-azure (Ubuntu Focal): | |
status: | New → Confirmed |
no longer affects: | linux-azure-5.3 (Ubuntu) |
no longer affects: | linux-azure-5.3 (Ubuntu Bionic) |
no longer affects: | linux-azure-5.3 (Ubuntu Eoan) |
no longer affects: | linux-azure-5.3 (Ubuntu Focal) |
Changed in linux-azure-4.15 (Ubuntu Bionic): | |
status: | New → Confirmed |
Changed in linux-azure-4.15 (Ubuntu Eoan): | |
status: | New → Invalid |
Changed in linux-azure-4.15 (Ubuntu Focal): | |
status: | New → Invalid |
Changed in linux-azure-4.15 (Ubuntu Bionic): | |
importance: | Undecided → Medium |
Changed in linux-azure-4.15 (Ubuntu): | |
status: | New → Invalid |
Changed in linux-azure (Ubuntu): | |
status: | New → Invalid |
Changed in linux-azure (Ubuntu Eoan): | |
importance: | Undecided → Medium |
Changed in linux-azure (Ubuntu Focal): | |
importance: | Undecided → Medium |
description: | updated |
Changed in linux-azure (Ubuntu Eoan): | |
status: | Confirmed → Won't Fix |
description: | updated |
description: | updated |
Changed in linux-azure-4.15 (Ubuntu Bionic): | |
status: | Confirmed → Fix Committed |
Changed in linux-azure (Ubuntu Focal): | |
status: | Confirmed → Fix Committed |
Hi Joe,
I have Eoan and Focal test kernel built with these 2 patches, can you give them a try? /people. canonical. com/~phlin/ kernel/ lp-1875467- azure-tsc/
https:/
I am not sure if it worth it to patch this in older kernels. Before Eoan the drivers/ clocksource/ hyperv_ timer.c haven't been split out from drivers/hv/hv.c yet.