perf/x86: Remove temporary pmu assignment in event_init
The temporary pmu assignment in event_init is unnecessary. The assignment was introduced by commit8113070d66
("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 commit7e5b2a01d2
("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:
parent
34d5b61f29
commit
b98567298b
|
@ -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)
|
||||||
|
|
Loading…
Reference in New Issue