Message ID | 20200716094643.31410-1-chris@chris-wilson.co.uk (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/i915: Provide the perf pmu.module | expand |
On 16/07/2020 10:46, Chris Wilson wrote: > Rather than manually implement our own module reference counting for perf > pmu events, finally realise that there is a module parameter to struct > pmu for this very purpose. > > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> > Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> > Cc: stable@vger.kernel.org > --- > drivers/gpu/drm/i915/i915_pmu.c | 7 ++----- > 1 file changed, 2 insertions(+), 5 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_pmu.c b/drivers/gpu/drm/i915/i915_pmu.c > index 28bc5f13ae52..056994224c6b 100644 > --- a/drivers/gpu/drm/i915/i915_pmu.c > +++ b/drivers/gpu/drm/i915/i915_pmu.c > @@ -445,8 +445,6 @@ static void i915_pmu_event_destroy(struct perf_event *event) > container_of(event->pmu, typeof(*i915), pmu.base); > > drm_WARN_ON(&i915->drm, event->parent); > - > - module_put(THIS_MODULE); > } > > static int > @@ -538,10 +536,8 @@ static int i915_pmu_event_init(struct perf_event *event) > if (ret) > return ret; > > - if (!event->parent) { > - __module_get(THIS_MODULE); > + if (!event->parent) > event->destroy = i915_pmu_event_destroy; > - } > > return 0; > } > @@ -1130,6 +1126,7 @@ void i915_pmu_register(struct drm_i915_private *i915) > if (!pmu->base.attr_groups) > goto err_attr; > > + pmu->base.module = THIS_MODULE; > pmu->base.task_ctx_nr = perf_invalid_context; > pmu->base.event_init = i915_pmu_event_init; > pmu->base.add = i915_pmu_event_add; > Okay! Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Regards, Tvrtko
diff --git a/drivers/gpu/drm/i915/i915_pmu.c b/drivers/gpu/drm/i915/i915_pmu.c index 28bc5f13ae52..056994224c6b 100644 --- a/drivers/gpu/drm/i915/i915_pmu.c +++ b/drivers/gpu/drm/i915/i915_pmu.c @@ -445,8 +445,6 @@ static void i915_pmu_event_destroy(struct perf_event *event) container_of(event->pmu, typeof(*i915), pmu.base); drm_WARN_ON(&i915->drm, event->parent); - - module_put(THIS_MODULE); } static int @@ -538,10 +536,8 @@ static int i915_pmu_event_init(struct perf_event *event) if (ret) return ret; - if (!event->parent) { - __module_get(THIS_MODULE); + if (!event->parent) event->destroy = i915_pmu_event_destroy; - } return 0; } @@ -1130,6 +1126,7 @@ void i915_pmu_register(struct drm_i915_private *i915) if (!pmu->base.attr_groups) goto err_attr; + pmu->base.module = THIS_MODULE; pmu->base.task_ctx_nr = perf_invalid_context; pmu->base.event_init = i915_pmu_event_init; pmu->base.add = i915_pmu_event_add;
Rather than manually implement our own module reference counting for perf pmu events, finally realise that there is a module parameter to struct pmu for this very purpose. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Cc: stable@vger.kernel.org --- drivers/gpu/drm/i915/i915_pmu.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-)