• Paul Mackerras's avatar
    perf_counter: powerpc: Implement interrupt throttling · 8a7b8cb9
    Paul Mackerras authored
    This implements interrupt throttling on powerpc.  Since we don't have
    individual count enable/disable or interrupt enable/disable controls
    per counter, this simply sets the hardware counter to 0, meaning that
    it will not interrupt again until it has counted 2^31 counts, which
    will take at least 2^30 cycles assuming a maximum of 2 counts per
    cycle.  Also, we set counter->hw.period_left to the maximum possible
    value (2^63 - 1), so we won't report overflows for this counter for
    the forseeable future.
    
    The unthrottle operation restores counter->hw.period_left and the
    hardware counter so that we will once again report a counter overflow
    after counter->hw.irq_period counts.
    
    [ Impact: new perfcounters robustness feature on PowerPC ]
    Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
    Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
    LKML-Reference: <18971.35823.643362.446774@cargo.ozlabs.ibm.com>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    8a7b8cb9
perf_counter.c 29.5 KB