mbox series

[focal:linux-azure/eoan:linux-azure,0/2] LP#1875467: Enable invariant TSC support

Message ID 20200610053255.68140-1-kelsey.skunberg@canonical.com
Headers show
Series LP#1875467: Enable invariant TSC support | expand

Message

Kelsey Skunberg June 10, 2020, 5:32 a.m. UTC
BugLink: http://bugs.launchpad.net/bugs/1875467

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
HvSyntheticInvariantTscControl MSR and set bit 0 of this synthetic MSR,
which then enables the InvariantTSC feature. After setting the synthetic
MSR, CPUID will enumerate support for InvariantTSC.

The following two commits enable support:
9e0333ae38ee ("clocksource/drivers/hyper-v: Set TSC clocksource as
default w/ InvariantTSC")
dce7cd62754b ("x86/hyperv: Allow guests to enable InvariantTSC")

Clean cherry-pick for both commits.

Andrea Parri (2):
  x86/hyperv: Allow guests to enable InvariantTSC
  clocksource/drivers/hyper-v: Set TSC clocksource as default w/
    InvariantTSC

 arch/x86/include/asm/hyperv-tlfs.h |  5 +++++
 arch/x86/kernel/cpu/mshyperv.c     |  7 ++++++-
 drivers/clocksource/hyperv_timer.c | 12 ++++++++++--
 3 files changed, 21 insertions(+), 3 deletions(-)

Comments

Stefan Bader June 10, 2020, 8:08 a.m. UTC | #1
On 10.06.20 07:32, Kelsey Skunberg wrote:
> BugLink: http://bugs.launchpad.net/bugs/1875467
> 
> 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
> HvSyntheticInvariantTscControl MSR and set bit 0 of this synthetic MSR,
> which then enables the InvariantTSC feature. After setting the synthetic
> MSR, CPUID will enumerate support for InvariantTSC.
> 
> The following two commits enable support:
> 9e0333ae38ee ("clocksource/drivers/hyper-v: Set TSC clocksource as
> default w/ InvariantTSC")
> dce7cd62754b ("x86/hyperv: Allow guests to enable InvariantTSC")
> 
> Clean cherry-pick for both commits.
> 
> Andrea Parri (2):
>   x86/hyperv: Allow guests to enable InvariantTSC
>   clocksource/drivers/hyper-v: Set TSC clocksource as default w/
>     InvariantTSC
> 
>  arch/x86/include/asm/hyperv-tlfs.h |  5 +++++
>  arch/x86/kernel/cpu/mshyperv.c     |  7 ++++++-
>  drivers/clocksource/hyperv_timer.c | 12 ++++++++++--
>  3 files changed, 21 insertions(+), 3 deletions(-)
> 
Nothing with the patches, just personally it feels like the adjusted
release:source specification in the subject is easier to read.

-Stefan

Acked-by: Stefan Bader <stefan.bader@canonical.com>
Thadeu Lima de Souza Cascardo June 10, 2020, 10:11 a.m. UTC | #2
On Tue, Jun 09, 2020 at 11:32:53PM -0600, Kelsey Skunberg wrote:
> BugLink: http://bugs.launchpad.net/bugs/1875467
> 
> 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
> HvSyntheticInvariantTscControl MSR and set bit 0 of this synthetic MSR,
> which then enables the InvariantTSC feature. After setting the synthetic
> MSR, CPUID will enumerate support for InvariantTSC.
> 
> The following two commits enable support:
> 9e0333ae38ee ("clocksource/drivers/hyper-v: Set TSC clocksource as
> default w/ InvariantTSC")
> dce7cd62754b ("x86/hyperv: Allow guests to enable InvariantTSC")
> 
> Clean cherry-pick for both commits.
> 
> Andrea Parri (2):
>   x86/hyperv: Allow guests to enable InvariantTSC
>   clocksource/drivers/hyper-v: Set TSC clocksource as default w/
>     InvariantTSC
> 
>  arch/x86/include/asm/hyperv-tlfs.h |  5 +++++
>  arch/x86/kernel/cpu/mshyperv.c     |  7 ++++++-
>  drivers/clocksource/hyperv_timer.c | 12 ++++++++++--
>  3 files changed, 21 insertions(+), 3 deletions(-)
> 
> -- 
> 2.25.1
> 

As with the bionic patchset, what test has been done here? Thanks.
Cascardo.
Juerg Haefliger June 10, 2020, 10:33 a.m. UTC | #3
On Tue,  9 Jun 2020 23:32:53 -0600
Kelsey Skunberg <kelsey.skunberg@canonical.com> wrote:

> BugLink: http://bugs.launchpad.net/bugs/1875467

That should be https://...

...Juerg

 
> 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
> HvSyntheticInvariantTscControl MSR and set bit 0 of this synthetic MSR,
> which then enables the InvariantTSC feature. After setting the synthetic
> MSR, CPUID will enumerate support for InvariantTSC.
> 
> The following two commits enable support:
> 9e0333ae38ee ("clocksource/drivers/hyper-v: Set TSC clocksource as
> default w/ InvariantTSC")
> dce7cd62754b ("x86/hyperv: Allow guests to enable InvariantTSC")
> 
> Clean cherry-pick for both commits.
> 
> Andrea Parri (2):
>   x86/hyperv: Allow guests to enable InvariantTSC
>   clocksource/drivers/hyper-v: Set TSC clocksource as default w/
>     InvariantTSC
> 
>  arch/x86/include/asm/hyperv-tlfs.h |  5 +++++
>  arch/x86/kernel/cpu/mshyperv.c     |  7 ++++++-
>  drivers/clocksource/hyperv_timer.c | 12 ++++++++++--
>  3 files changed, 21 insertions(+), 3 deletions(-)
>
Kelsey Skunberg June 10, 2020, 3:04 p.m. UTC | #4
Hi Juerg,

On Wed, Jun 10, 2020 at 4:33 AM Juerg Haefliger
<juerg.haefliger@canonical.com> wrote:
>
> On Tue,  9 Jun 2020 23:32:53 -0600
> Kelsey Skunberg <kelsey.skunberg@canonical.com> wrote:
>
> > BugLink: http://bugs.launchpad.net/bugs/1875467
>
> That should be https://...
>
> ...Juerg

oomph, did this on the other set too. Will get this fixed and send a
v2. Thanks for checking!

-Kelsey

>
>
> > 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
> > HvSyntheticInvariantTscControl MSR and set bit 0 of this synthetic MSR,
> > which then enables the InvariantTSC feature. After setting the synthetic
> > MSR, CPUID will enumerate support for InvariantTSC.
> >
> > The following two commits enable support:
> > 9e0333ae38ee ("clocksource/drivers/hyper-v: Set TSC clocksource as
> > default w/ InvariantTSC")
> > dce7cd62754b ("x86/hyperv: Allow guests to enable InvariantTSC")
> >
> > Clean cherry-pick for both commits.
> >
> > Andrea Parri (2):
> >   x86/hyperv: Allow guests to enable InvariantTSC
> >   clocksource/drivers/hyper-v: Set TSC clocksource as default w/
> >     InvariantTSC
> >
> >  arch/x86/include/asm/hyperv-tlfs.h |  5 +++++
> >  arch/x86/kernel/cpu/mshyperv.c     |  7 ++++++-
> >  drivers/clocksource/hyperv_timer.c | 12 ++++++++++--
> >  3 files changed, 21 insertions(+), 3 deletions(-)
> >
>
Kelsey Skunberg June 10, 2020, 4:14 p.m. UTC | #5
Error in BugLink needs to be fixed. Sending a v2.

-Kelsey

On Tue, Jun 9, 2020 at 11:32 PM Kelsey Skunberg
<kelsey.skunberg@canonical.com> wrote:
>
> BugLink: http://bugs.launchpad.net/bugs/1875467
>
> 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
> HvSyntheticInvariantTscControl MSR and set bit 0 of this synthetic MSR,
> which then enables the InvariantTSC feature. After setting the synthetic
> MSR, CPUID will enumerate support for InvariantTSC.
>
> The following two commits enable support:
> 9e0333ae38ee ("clocksource/drivers/hyper-v: Set TSC clocksource as
> default w/ InvariantTSC")
> dce7cd62754b ("x86/hyperv: Allow guests to enable InvariantTSC")
>
> Clean cherry-pick for both commits.
>
> Andrea Parri (2):
>   x86/hyperv: Allow guests to enable InvariantTSC
>   clocksource/drivers/hyper-v: Set TSC clocksource as default w/
>     InvariantTSC
>
>  arch/x86/include/asm/hyperv-tlfs.h |  5 +++++
>  arch/x86/kernel/cpu/mshyperv.c     |  7 ++++++-
>  drivers/clocksource/hyperv_timer.c | 12 ++++++++++--
>  3 files changed, 21 insertions(+), 3 deletions(-)
>
> --
> 2.25.1
>