lkml.org 
[lkml]   [2021]   [Mar]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH 1/5] perf/x86/intel/uncore: Parse uncore discovery tables
From
Date


On 3/16/2021 10:05 AM, Peter Zijlstra wrote:
> On Tue, Mar 16, 2021 at 08:42:25AM -0400, Liang, Kan wrote:
>>
>>
>> On 3/16/2021 7:43 AM, Peter Zijlstra wrote:
>>> On Fri, Mar 12, 2021 at 08:34:34AM -0800, kan.liang@linux.intel.com wrote:
>>>> From: Kan Liang <kan.liang@linux.intel.com>
>>>>
>>>> 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?
>>
>> Yes, I will submit a platform specific patch to fix this case.
>>
>>>
>>> Do we need a chicken flag to kill the discovery? uncore_no_discover?
>>>
>>
>> Yes, I plan to introduce a .use_discovery_tables flag to indicate whether to
>> use the discovery tables for the known platform.
>>
>> The below codes is part of the upcoming SPR uncore patches.
>> The first SPR uncore patch will still rely on the BIOS discovery tables,
>> because some uncore block information hasn't been published yet. We have to
>> retrieve the information fro the tables. Once all the information is
>> published, we can kill the discovery by removing the ".use_discovery_tables
>> = true".
>
> I was thinking of a module parameter, such that we can tell it to skip
> discovery on module load time etc.
>

Sure, I will add a module parameter, uncore_no_discover.
If users don't want the discovery feature, they can set
uncore_no_discover=true.

Thanks,
Kan

\
 
 \ /
  Last update: 2021-03-16 15:55    [W:0.141 / U:0.012 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site