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

From: John Garry
Date: Mon Feb 10 2020 - 11:23:02 EST


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@xxxxxxxxxx/

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