• Stephane Eranian's avatar
    perf/x86/amd: Add AMD branch sampling period adjustment · ba2fe750
    Stephane Eranian authored
    Add code to adjust the sampling event period when used with the Branch
    Sampling feature (BRS). Given the depth of the BRS (16), the period is
    reduced by that depth such that in the best case scenario, BRS saturates at
    the desired sampling period. In practice, though, the processor may execute
    more branches. Given a desired period P and a depth D, the kernel programs
    the actual period at P - D. After P occurrences of the sampling event, the
    counter overflows. It then may take X branches (skid) before the NMI is
    caught and held by the hardware and BRS activates. Then, after D branches,
    BRS saturates and the NMI is delivered.  With no skid, the effective period
    would be (P - D) + D = P. In practice, however, it will likely be (P - D) +
    X + D. There is no way to eliminate X or predict X.
    Signed-off-by: default avatarStephane Eranian <eranian@google.com>
    Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
    Link: https://lore.kernel.org/r/20220322221517.2510440-7-eranian@google.com
    ba2fe750
perf_event.h 41.1 KB