Re: [PATCH RFC 5/7] perf pmu: Support matching by sysid

John Garry
2020-02-10T16:23:01Z

Hi jirka,

>
>> + fclose(file);
>> + pr_debug("gets failed for file %s\n", path);
>> + free(buf);
>> + return NULL;
>> + }
>> + fclose(file);
>> +
>> + /* Remove any whitespace, this could be from ACPI HID */
>> + s = strlen(buf);
>> + for (i = 0; i < s; i++) {
>> + if (buf[i] == ' ') {
>> + buf[i] = 0;
>> + break;
>> + };
>> + }
>> +
>> + 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/

>> +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?

Thanks,
John