• Kim Phillips's avatar
    x86/cpu/amd: Enable the fixed Instructions Retired counter IRPERF · 21b5ee59
    Kim Phillips authored
    Commit
    
      aaf24884 ("perf/x86/msr: Add AMD IRPERF (Instructions Retired)
    		  performance counter")
    
    added support for access to the free-running counter via 'perf -e
    msr/irperf/', but when exercised, it always returns a 0 count:
    
    BEFORE:
    
      $ perf stat -e instructions,msr/irperf/ true
    
       Performance counter stats for 'true':
    
                 624,833      instructions
                       0      msr/irperf/
    
    Simply set its enable bit - HWCR bit 30 - to make it start counting.
    
    Enablement is restricted to all machines advertising IRPERF capability,
    except those susceptible to an erratum that makes the IRPERF return
    bad values.
    
    That erratum occurs in Family 17h models 00-1fh [1], but not in F17h
    models 20h and above [2].
    
    AFTER (on a family 17h model 31h machine):
    
      $ perf stat -e instructions,msr/irperf/ true
    
       Performance counter stats for 'true':
    
                 621,690      instructions
                 622,490      msr/irperf/
    
    [1] Revision Guide for AMD Family 17h Models 00h-0Fh Processors
    [2] Revision Guide for AMD Family 17h Models 30h-3Fh Processors
    
    The revision guides are available from the bugzilla Link below.
    
     [ bp: Massage commit message. ]
    
    Fixes: aaf24884 ("perf/x86/msr: Add AMD IRPERF (Instructions Retired) performance counter")
    Signed-off-by: default avatarKim Phillips <kim.phillips@amd.com>
    Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: stable@vger.kernel.org
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=206537
    Link: http://lkml.kernel.org/r/20200214201805.13830-1-kim.phillips@amd.com
    21b5ee59
amd.c 29.2 KB