[Intel-gfx] [PATCH] drm/i915/pmu: Do not use colon characters in PMU names
Tvrtko Ursulin
tvrtko.ursulin at linux.intel.com
Fri Jan 10 11:11:26 UTC 2020
From: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
We use PCI device path in the registered PMU name in order to distinguish
between multiple GPUs. But since tools/perf reserves a special meaning to
the colon character we need to transliterate them to something else. We
choose a dash.
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
Reported-by: Dmitry Rogozhkin <dmitry.v.rogozhkin at intel.com>
Fixes: 05488673a4d4 ("drm/i915/pmu: Support multiple GPUs")
Cc: Chris Wilson <chris at chris-wilson.co.uk>
Cc: Michal Wajdeczko <michal.wajdeczko at intel.com>
Cc: Andi Kleen <ak at linux.intel.com>
---
drivers/gpu/drm/i915/i915_pmu.c | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_pmu.c b/drivers/gpu/drm/i915/i915_pmu.c
index f3ef6700a5f2..ecbd0e1f1a90 100644
--- a/drivers/gpu/drm/i915/i915_pmu.c
+++ b/drivers/gpu/drm/i915/i915_pmu.c
@@ -1117,12 +1117,22 @@ void i915_pmu_register(struct drm_i915_private *i915)
hrtimer_init(&pmu->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
pmu->timer.function = i915_sample;
- if (!is_igp(i915))
+ if (!is_igp(i915)) {
pmu->name = kasprintf(GFP_KERNEL,
"i915-%s",
dev_name(i915->drm.dev));
- else
+ if (pmu->name) {
+ char *p;
+
+ /* tools/perf reserves colons as special. */
+ for (p = (char *)pmu->name; *p; p++) {
+ if (*p == ':')
+ *p = '-';
+ }
+ }
+ } else {
pmu->name = "i915";
+ }
if (!pmu->name)
goto err;
--
2.20.1
More information about the Intel-gfx
mailing list