perf/x86: Remove temporary pmu assignment in event_init

The temporary pmu assignment in event_init is unnecessary.

The assignment was introduced by commit 8113070d66 ("perf_events:
Add fast-path to the rescheduling code"). At that time, event->pmu is
not assigned yet when initializing an event. The assignment is required.
However, from commit 7e5b2a01d2 ("perf: provide PMU when initing
events"), the event->pmu is provided before event_init is invoked.
The temporary pmu assignment in event_init should be removed.

Signed-off-by: Kan Liang <kan.liang@linux.intel.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Andi Kleen <ak@linux.intel.com>
Link: https://lkml.kernel.org/r/1618237865-33448-15-git-send-email-kan.liang@linux.intel.com
This commit is contained in:
Kan Liang 2021-04-12 07:30:54 -07:00 committed by Peter Zijlstra
parent 34d5b61f29
commit b98567298b
1 changed files with 0 additions and 11 deletions

View File

@ -2291,7 +2291,6 @@ out:
static int x86_pmu_event_init(struct perf_event *event) static int x86_pmu_event_init(struct perf_event *event)
{ {
struct pmu *tmp;
int err; int err;
switch (event->attr.type) { switch (event->attr.type) {
@ -2306,20 +2305,10 @@ static int x86_pmu_event_init(struct perf_event *event)
err = __x86_pmu_event_init(event); err = __x86_pmu_event_init(event);
if (!err) { if (!err) {
/*
* we temporarily connect event to its pmu
* such that validate_group() can classify
* it as an x86 event using is_x86_event()
*/
tmp = event->pmu;
event->pmu = &pmu;
if (event->group_leader != event) if (event->group_leader != event)
err = validate_group(event); err = validate_group(event);
else else
err = validate_event(event); err = validate_event(event);
event->pmu = tmp;
} }
if (err) { if (err) {
if (event->destroy) if (event->destroy)