[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2a51ce93-fa68-8088-f31f-2fd692253335@huawei.com>
Date: Tue, 11 Feb 2020 15:07:31 +0000
From: John Garry <john.garry@...wei.com>
To: Jiri Olsa <jolsa@...hat.com>
CC: <peterz@...radead.org>, <mingo@...hat.com>, <acme@...nel.org>,
<mark.rutland@....com>, <alexander.shishkin@...ux.intel.com>,
<namhyung@...nel.org>, <will@...nel.org>, <ak@...ux.intel.com>,
<linuxarm@...wei.com>, <linux-kernel@...r.kernel.org>,
<linux-arm-kernel@...ts.infradead.org>, <suzuki.poulose@....com>,
<james.clark@....com>, <zhangshaokun@...ilicon.com>,
<robin.murphy@....com>
Subject: Re: [PATCH RFC 5/7] perf pmu: Support matching by sysid
On 11/02/2020 13:47, Jiri Olsa wrote:
Hi Jirka,
>>>> +
>>>> + return buf;
>>>> +}
>>>> +
>>
>> I have another series to add kernel support for a system identifier sysfs
>> entry, which I sent after this series:
>>
>> https://lore.kernel.org/linux-acpi/1580210059-199540-1-git-send-email-john.garry@huawei.com/
>>
>> It is different to what I am relying on here - it uses a kernel soc driver
>> for firmware ACPI PPTT identifier. Progress is somewhat blocked at the
>> moment however and I may have to use a different method:
>>
>> https://lore.kernel.org/linux-acpi/20200128123415.GB36168@bogus/
>
> I'll try to check ;-)
Summary is that there exists an ACPI firmware field which we could
expose to userspace via sysfs - this would provide the system id.
However there is a proposal to deprecate it in the ACPI standard and, as
such, would prefer that we don't add kernel support for it at this stage.
So I am evaluating the alternative in the meantime, which again is some
firmware method which should allow us to expose a system id to userspace
via sysfs. Unfortunately this is arm specific. However, other archs can
still provide their own method, maybe a soc driver:
Documentation/ABI/testing/sysfs-devices-soc#n15
>
>>
>>>> +static char *perf_pmu__getsysid(void)
>>>> +{
>>>> + char *sysid;
>>>> + static bool printed;
>>>> +
>>>> + sysid = getenv("PERF_SYSID");
>>>> + if (sysid)
>>>> + sysid = strdup(sysid);
>>>> +
>>>> + if (!sysid)
>>>> + sysid = get_sysid_str();
>>>> + if (!sysid)
>>>> + return NULL;
>>>> +
>>>> + if (!printed) {
>>>> + pr_debug("Using SYSID %s\n", sysid);
>>>> + printed = true;
>>>> + }
>>>> + return sysid;
>>>> +}
>>>
>>> this part is getting complicated and AFAIK we have no tests for it
>>>
>>> if you could think of any tests that'd be great.. Perhaps we could
>>> load 'our' json test files and check appropriate events/aliasses
>>> via in pmu object.. or via parse_events interface.. those test aliases
>>> would have to be part of perf, but we have tests compiled in anyway
>>
>> Sorry, I don't fully follow.
>>
>> Are you suggesting that we could load the specific JSONs tables for a system
>> from the host filesystem?
>
> I wish to see some test for all this.. I can only think about having
> 'test' json files compiled with perf and 'perf test' that looks them
> up and checks that all is in the proper place
OK, let me consider this part for perf test support.
Thanks,
John
Powered by blists - more mailing lists