Messages in this thread | | | Subject | Re: [PATCH RFC 5/7] perf pmu: Support matching by sysid | From | John Garry <> | Date | Tue, 11 Feb 2020 15:07:31 +0000 |
| |
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
| |