Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b5e8acf6 authored by Peter Zijlstra's avatar Peter Zijlstra Committed by Ingo Molnar
Browse files

perfcounters: IRQ and NMI support on AMD CPUs, fix



The BKGD suggests that counter width on AMD CPUs is 48 for all
existing models (it certainly is for mine).

Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
parent b0f3f28e
Loading
Loading
Loading
Loading
+2 −14
Original line number Diff line number Diff line
@@ -959,20 +959,8 @@ static struct pmc_x86_ops *pmc_amd_init(void)

	nr_counters_generic = 4;
	nr_counters_fixed = 0;
	counter_value_mask = ~0ULL;

	rdmsrl(MSR_K7_PERFCTR0, old);
	wrmsrl(MSR_K7_PERFCTR0, counter_value_mask);
	/*
	 * read the truncated mask
	 */
	rdmsrl(MSR_K7_PERFCTR0, counter_value_mask);
	wrmsrl(MSR_K7_PERFCTR0, old);

	bits = 32 + fls(counter_value_mask >> 32);
	if (bits == 32)
		bits = fls((u32)counter_value_mask);
	counter_value_bits = bits;
	counter_value_mask = 0x0000FFFFFFFFFFFFULL;
	counter_value_bits = 48;

	pr_info("AMD Performance Monitoring support detected.\n");