lkml.org 
[lkml]   [2024]   [Apr]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH v2] x86: Trust initial offset in architectural TSC-adjust MSRs
From
On 4/19/24 04:51, Daniel J Blueman wrote:
> When the BIOS configures the architectural TSC-adjust MSRs on secondary
> sockets to correct a constant inter-chassis offset, after Linux brings
> the cores online, the TSC sync check later resets the core-local MSR to
> 0, triggering HPET fallback and leading to performance loss.
>
> Fix this by unconditionally using the initial adjust values read from the
> MSRs. Trusting the initial offsets in this architectural mechanism is a
> better approach than special-casing workarounds for specific platforms.
>
> Signed-off-by: Daniel J Blueman <daniel@quora.org>
> Reviewed-by: Steffen Persvold <sp@numascale.com>
> Reviewed-by: James Cleverdon <james.cleverdon.external@eviden.com>
> Reviewed-by: Dimitri Sivanich <sivanich@hpe.com>
> Cc: Steve Wahl <steve.wahl@hpe.com>
> Cc: Prarit Bhargava <prarit@redhat.com>
> Cc: Frank Ramsay <frank.ramsay@hpe.com>
> Cc: Russ Anderson <rja@hpe.com>
> ---
> Changes in v2:
> - Maintain comment based on feedback
> - Rebase against v6.9-rc4
>
> arch/x86/kernel/tsc_sync.c | 6 ++----
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/arch/x86/kernel/tsc_sync.c b/arch/x86/kernel/tsc_sync.c
> index 1123ef3ccf90..4334033658ed 100644
> --- a/arch/x86/kernel/tsc_sync.c
> +++ b/arch/x86/kernel/tsc_sync.c
> @@ -193,11 +193,9 @@ bool tsc_store_and_check_tsc_adjust(bool bootcpu)
> cur->warned = false;
>
> /*
> - * If a non-zero TSC value for socket 0 may be valid then the default
> - * adjusted value cannot assumed to be zero either.
> + * The default adjust value cannot be assumed to be zero on any socket.
> */
> - if (tsc_async_resets)
> - cur->adjusted = bootval;
> + cur->adjusted = bootval;
>
> /*
> * Check whether this CPU is the first in a package to come up. In

This covers the concerns raise by HPE (cc'd) on this patch.

Reviewed-by: Prarit Bhargava <prarit@redhat.com>

P.


\
 
 \ /
  Last update: 2024-05-27 18:04    [W:0.099 / U:0.052 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site