From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757219AbdDQJQg (ORCPT ); Mon, 17 Apr 2017 05:16:36 -0400 Received: from Galois.linutronix.de ([146.0.238.70]:47151 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753387AbdDQJQd (ORCPT ); Mon, 17 Apr 2017 05:16:33 -0400 Date: Mon, 17 Apr 2017 11:16:31 +0200 (CEST) From: Thomas Gleixner To: LKML cc: Peter Zijlstra , Ingo Molnar , Steven Rostedt , Sebastian Siewior Subject: [PATCH] perf/core: Remove redundant get_online_cpus() Message-ID: User-Agent: Alpine 2.20 (DEB 67 2015-01-07) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 Cc: Peter Zijlstra --- 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; }