[tip:,perf/core] perf/x86: Remove temporary pmu assignment in event_init
diff mbox series

Message ID 161891560505.29796.6034093386968004555.tip-bot2@tip-bot2
State Accepted
Commit b98567298bad891774054113690b30bd90d5738d
Headers show
  • [tip:,perf/core] perf/x86: Remove temporary pmu assignment in event_init
Related show

Commit Message

tip-bot2 for Peter Zijlstra April 20, 2021, 10:46 a.m. UTC
The following commit has been merged into the perf/core branch of tip:

Commit-ID:     b98567298bad891774054113690b30bd90d5738d
Gitweb:        https://git.kernel.org/tip/b98567298bad891774054113690b30bd90d5738d
Author:        Kan Liang <kan.liang@linux.intel.com>
AuthorDate:    Mon, 12 Apr 2021 07:30:54 -07:00
Committer:     Peter Zijlstra <peterz@infradead.org>
CommitterDate: Mon, 19 Apr 2021 20:03:27 +02:00

perf/x86: Remove temporary pmu assignment in event_init

The temporary pmu assignment in event_init is unnecessary.

The assignment was introduced by commit 8113070d6639 ("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 7e5b2a01d2ca ("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
 arch/x86/events/core.c | 11 -----------
 1 file changed, 11 deletions(-)

diff mbox series

diff --git a/arch/x86/events/core.c b/arch/x86/events/core.c
index 57d3fe1..ed8dcfb 100644
--- a/arch/x86/events/core.c
+++ b/arch/x86/events/core.c
@@ -2291,7 +2291,6 @@  out:
 static int x86_pmu_event_init(struct perf_event *event)
-	struct pmu *tmp;
 	int err;
 	switch (event->attr.type) {
@@ -2306,20 +2305,10 @@  static int x86_pmu_event_init(struct perf_event *event)
 	err = __x86_pmu_event_init(event);
 	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)
 			err = validate_group(event);
 			err = validate_event(event);
-		event->pmu = tmp;
 	if (err) {
 		if (event->destroy)