[PATCH] perf/core: Remove redundant get_online_cpus()

From: Thomas Gleixner
Date: Mon Apr 17 2017 - 05:16:39 EST


SyS_perf_event_open() calls get_online_cpus() and eventually invokes
swevent_hlist_get() which does it again.

All callchains leading to swevent_hlist_get() originate from
SyS_perf_event_open() so the extra protection is redundant.

Remove it.

Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
---
kernel/events/core.c | 5 -----
1 file changed, 5 deletions(-)

--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -7592,7 +7592,6 @@ static int swevent_hlist_get(void)
{
int err, cpu, failed_cpu;

- get_online_cpus();
for_each_possible_cpu(cpu) {
err = swevent_hlist_get_cpu(cpu);
if (err) {
@@ -7600,8 +7599,6 @@ static int swevent_hlist_get(void)
goto fail;
}
}
- put_online_cpus();
-
return 0;
fail:
for_each_possible_cpu(cpu) {
@@ -7609,8 +7606,6 @@ static int swevent_hlist_get(void)
break;
swevent_hlist_put_cpu(cpu);
}
-
- put_online_cpus();
return err;
}