lkml.org 
[lkml]   [2020]   [Jun]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.4 025/134] x86/cpu/amd: Make erratum #1054 a legacy erratum
    Date
    From: Kim Phillips <kim.phillips@amd.com>

    [ Upstream commit e2abfc0448a46d8a137505aa180caf14070ec535 ]

    Commit

    21b5ee59ef18 ("x86/cpu/amd: Enable the fixed Instructions Retired
    counter IRPERF")

    mistakenly added erratum #1054 as an OS Visible Workaround (OSVW) ID 0.
    Erratum #1054 is not OSVW ID 0 [1], so make it a legacy erratum.

    There would never have been a false positive on older hardware that
    has OSVW bit 0 set, since the IRPERF feature was not available.

    However, save a couple of RDMSR executions per thread, on modern
    system configurations that correctly set non-zero values in their
    OSVW_ID_Length MSRs.

    [1] Revision Guide for AMD Family 17h Models 00h-0Fh Processors. The
    revision guide is available from the bugzilla link below.

    Fixes: 21b5ee59ef18 ("x86/cpu/amd: Enable the fixed Instructions Retired counter IRPERF")
    Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Signed-off-by: Kim Phillips <kim.phillips@amd.com>
    Signed-off-by: Borislav Petkov <bp@suse.de>
    Link: https://lkml.kernel.org/r/20200417143356.26054-1-kim.phillips@amd.com
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=206537
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    arch/x86/kernel/cpu/amd.c | 3 +--
    1 file changed, 1 insertion(+), 2 deletions(-)

    diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c
    index c3f4dd4ae155..c553cafd0736 100644
    --- a/arch/x86/kernel/cpu/amd.c
    +++ b/arch/x86/kernel/cpu/amd.c
    @@ -1117,8 +1117,7 @@ static const int amd_erratum_383[] =

    /* #1054: Instructions Retired Performance Counter May Be Inaccurate */
    static const int amd_erratum_1054[] =
    - AMD_OSVW_ERRATUM(0, AMD_MODEL_RANGE(0x17, 0, 0, 0x2f, 0xf));
    -
    + AMD_LEGACY_ERRATUM(AMD_MODEL_RANGE(0x17, 0, 0, 0x2f, 0xf));

    static bool cpu_has_amd_erratum(struct cpuinfo_x86 *cpu, const int *erratum)
    {
    --
    2.25.1


    \
     
     \ /
      Last update: 2020-06-16 18:21    [W:4.173 / U:0.032 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site