Skip to content

Commit 6ba29f1

Browse files
committed
drm/i915/pmu: Replace closed with registered
Since i915 calls perf_pmu_register/perf_pmu_unregister, let's call the variable "registered" so we can flip the logic and rely on it being false by default. Looking at other drivers, it's also more common. Examples: arch/x86/events/intel/uncore.c and drivers/powercap/intel_rapl_common.c. Reviewed-by: Matt Roper <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] Signed-off-by: Lucas De Marchi <[email protected]>
1 parent 9116b57 commit 6ba29f1

File tree

2 files changed

+15
-14
lines changed

2 files changed

+15
-14
lines changed

drivers/gpu/drm/i915/i915_pmu.c

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -302,7 +302,7 @@ void i915_pmu_gt_parked(struct intel_gt *gt)
302302
{
303303
struct i915_pmu *pmu = &gt->i915->pmu;
304304

305-
if (pmu->closed)
305+
if (!pmu->registered)
306306
return;
307307

308308
spin_lock_irq(&pmu->lock);
@@ -324,7 +324,7 @@ void i915_pmu_gt_unparked(struct intel_gt *gt)
324324
{
325325
struct i915_pmu *pmu = &gt->i915->pmu;
326326

327-
if (pmu->closed)
327+
if (!pmu->registered)
328328
return;
329329

330330
spin_lock_irq(&pmu->lock);
@@ -626,7 +626,7 @@ static int i915_pmu_event_init(struct perf_event *event)
626626
struct drm_i915_private *i915 = pmu_to_i915(pmu);
627627
int ret;
628628

629-
if (pmu->closed)
629+
if (!pmu->registered)
630630
return -ENODEV;
631631

632632
if (event->attr.type != event->pmu->type)
@@ -724,7 +724,7 @@ static void i915_pmu_event_read(struct perf_event *event)
724724
struct hw_perf_event *hwc = &event->hw;
725725
u64 prev, new;
726726

727-
if (pmu->closed) {
727+
if (!pmu->registered) {
728728
event->hw.state = PERF_HES_STOPPED;
729729
return;
730730
}
@@ -850,7 +850,7 @@ static void i915_pmu_event_start(struct perf_event *event, int flags)
850850
{
851851
struct i915_pmu *pmu = event_to_pmu(event);
852852

853-
if (pmu->closed)
853+
if (!pmu->registered)
854854
return;
855855

856856
i915_pmu_enable(event);
@@ -861,7 +861,7 @@ static void i915_pmu_event_stop(struct perf_event *event, int flags)
861861
{
862862
struct i915_pmu *pmu = event_to_pmu(event);
863863

864-
if (pmu->closed)
864+
if (!pmu->registered)
865865
goto out;
866866

867867
if (flags & PERF_EF_UPDATE)
@@ -877,7 +877,7 @@ static int i915_pmu_event_add(struct perf_event *event, int flags)
877877
{
878878
struct i915_pmu *pmu = event_to_pmu(event);
879879

880-
if (pmu->closed)
880+
if (!pmu->registered)
881881
return -ENODEV;
882882

883883
if (flags & PERF_EF_START)
@@ -1193,7 +1193,7 @@ static int i915_pmu_cpu_offline(unsigned int cpu, struct hlist_node *node)
11931193
* Unregistering an instance generates a CPU offline event which we must
11941194
* ignore to avoid incorrectly modifying the shared i915_pmu_cpumask.
11951195
*/
1196-
if (pmu->closed)
1196+
if (!pmu->registered)
11971197
return 0;
11981198

11991199
if (cpumask_test_and_clear_cpu(cpu, &i915_pmu_cpumask)) {
@@ -1263,8 +1263,6 @@ void i915_pmu_register(struct drm_i915_private *i915)
12631263
};
12641264
int ret = -ENOMEM;
12651265

1266-
pmu->closed = true;
1267-
12681266
spin_lock_init(&pmu->lock);
12691267
hrtimer_init(&pmu->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
12701268
pmu->timer.function = i915_sample;
@@ -1313,7 +1311,7 @@ void i915_pmu_register(struct drm_i915_private *i915)
13131311
if (ret)
13141312
goto err_unreg;
13151313

1316-
pmu->closed = false;
1314+
pmu->registered = true;
13171315

13181316
return;
13191317

@@ -1334,12 +1332,15 @@ void i915_pmu_unregister(struct drm_i915_private *i915)
13341332
{
13351333
struct i915_pmu *pmu = &i915->pmu;
13361334

1335+
if (!pmu->registered)
1336+
return;
1337+
13371338
/*
13381339
* "Disconnect" the PMU callbacks - since all are atomic synchronize_rcu
13391340
* ensures all currently executing ones will have exited before we
13401341
* proceed with unregistration.
13411342
*/
1342-
pmu->closed = true;
1343+
pmu->registered = false;
13431344
synchronize_rcu();
13441345

13451346
hrtimer_cancel(&pmu->timer);

drivers/gpu/drm/i915/i915_pmu.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,9 +68,9 @@ struct i915_pmu {
6868
*/
6969
struct pmu base;
7070
/**
71-
* @closed: i915 is unregistering.
71+
* @registered: PMU is registered and not in the unregistering process.
7272
*/
73-
bool closed;
73+
bool registered;
7474
/**
7575
* @name: Name as registered with perf core.
7676
*/

0 commit comments

Comments
 (0)