forked from Minki/linux
powerpc/perf: Add restrictions to PMC5 in power9 DD1
PMC5 on POWER9 DD1 may not provide right counts in all sampling scenarios, hence use PM_INST_DISP event instead in PMC2 or PMC3 in preference. Signed-off-by: Madhavan Srinivasan <maddy@linux.vnet.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:
parent
356d8ce3d0
commit
8d911904f3
@ -222,6 +222,10 @@
|
|||||||
CNST_PMC_VAL(1) | CNST_PMC_VAL(2) | CNST_PMC_VAL(3) | \
|
CNST_PMC_VAL(1) | CNST_PMC_VAL(2) | CNST_PMC_VAL(3) | \
|
||||||
CNST_PMC_VAL(4) | CNST_PMC_VAL(5) | CNST_PMC_VAL(6) | CNST_NC_VAL
|
CNST_PMC_VAL(4) | CNST_PMC_VAL(5) | CNST_PMC_VAL(6) | CNST_NC_VAL
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Lets restrict use of PMC5 for instruction counting.
|
||||||
|
*/
|
||||||
|
#define P9_DD1_TEST_ADDER (ISA207_TEST_ADDER | CNST_PMC_VAL(5))
|
||||||
|
|
||||||
/* Bits in MMCR1 for PowerISA v2.07 */
|
/* Bits in MMCR1 for PowerISA v2.07 */
|
||||||
#define MMCR1_UNIT_SHIFT(pmc) (60 - (4 * ((pmc) - 1)))
|
#define MMCR1_UNIT_SHIFT(pmc) (60 - (4 * ((pmc) - 1)))
|
||||||
|
@ -423,7 +423,7 @@ static struct power_pmu power9_pmu = {
|
|||||||
.name = "POWER9",
|
.name = "POWER9",
|
||||||
.n_counter = MAX_PMU_COUNTERS,
|
.n_counter = MAX_PMU_COUNTERS,
|
||||||
.add_fields = ISA207_ADD_FIELDS,
|
.add_fields = ISA207_ADD_FIELDS,
|
||||||
.test_adder = ISA207_TEST_ADDER,
|
.test_adder = P9_DD1_TEST_ADDER,
|
||||||
.compute_mmcr = isa207_compute_mmcr,
|
.compute_mmcr = isa207_compute_mmcr,
|
||||||
.config_bhrb = power9_config_bhrb,
|
.config_bhrb = power9_config_bhrb,
|
||||||
.bhrb_filter_map = power9_bhrb_filter_map,
|
.bhrb_filter_map = power9_bhrb_filter_map,
|
||||||
|
Loading…
Reference in New Issue
Block a user