• Paul Mackerras's avatar
    KVM: PPC: Book3S HV: Work around POWER8 performance monitor bugs · 9bc01a9b
    Paul Mackerras authored
    This adds workarounds for two hardware bugs in the POWER8 performance
    monitor unit (PMU), both related to interrupt generation.  The effect
    of these bugs is that PMU interrupts can get lost, leading to tools
    such as perf reporting fewer counts and samples than they should.
    
    The first bug relates to the PMAO (perf. mon. alert occurred) bit in
    MMCR0; setting it should cause an interrupt, but doesn't.  The other
    bug relates to the PMAE (perf. mon. alert enable) bit in MMCR0.
    Setting PMAE when a counter is negative and counter negative
    conditions are enabled to cause alerts should cause an alert, but
    doesn't.
    
    The workaround for the first bug is to create conditions where a
    counter will overflow, whenever we are about to restore a MMCR0
    value that has PMAO set (and PMAO_SYNC clear).  The workaround for
    the second bug is to freeze all counters using MMCR2 before reading
    MMCR0.
    Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
    Signed-off-by: default avatarAlexander Graf <agraf@suse.de>
    9bc01a9b
reg.h 54.2 KB