Re: [PATCH 1/5] perf/x86/intel/uncore: Parse uncore discovery tables

From: Peter Zijlstra
Date: Tue Mar 16 2021 - 07:44:04 EST


On Fri, Mar 12, 2021 at 08:34:34AM -0800, kan.liang@xxxxxxxxxxxxxxx wrote:
> From: Kan Liang <kan.liang@xxxxxxxxxxxxxxx>
>
> A self-describing mechanism for the uncore PerfMon hardware has been
> introduced with the latest Intel platforms. By reading through an MMIO
> page worth of information, perf can 'discover' all the standard uncore
> PerfMon registers in a machine.
>
> The discovery mechanism relies on BIOS's support. With a proper BIOS,
> a PCI device with the unique capability ID 0x23 can be found on each
> die. Perf can retrieve the information of all available uncore PerfMons
> from the device via MMIO. The information is composed of one global
> discovery table and several unit discovery tables.

> If a BIOS doesn't support the 'discovery' mechanism, there is nothing
> changed.

What if the BIOS got it wrong? Will the driver still get it correct if
it is a known platform?

Do we need a chicken flag to kill the discovery? uncore_no_discover?