From: Thomas Gleixner Date: Mon, 24 Feb 2020 14:01:38 +0000 (+0100) Subject: perf/bpf: Remove preempt disable around BPF invocation X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=1d7bf6b7d3e8353c3fac648f3f9b3010458570c2;p=linux.git perf/bpf: Remove preempt disable around BPF invocation The BPF invocation from the perf event overflow handler does not require to disable preemption because this is called from NMI or at least hard interrupt context which is already non-preemptible. Signed-off-by: Thomas Gleixner Signed-off-by: Alexei Starovoitov Link: https://lore.kernel.org/bpf/20200224145643.151953573@linutronix.de --- diff --git a/kernel/events/core.c b/kernel/events/core.c index e453589da97ca..bbdfac0182f41 100644 --- a/kernel/events/core.c +++ b/kernel/events/core.c @@ -9206,7 +9206,6 @@ static void bpf_overflow_handler(struct perf_event *event, int ret = 0; ctx.regs = perf_arch_bpf_user_pt_regs(regs); - preempt_disable(); if (unlikely(__this_cpu_inc_return(bpf_prog_active) != 1)) goto out; rcu_read_lock(); @@ -9214,7 +9213,6 @@ static void bpf_overflow_handler(struct perf_event *event, rcu_read_unlock(); out: __this_cpu_dec(bpf_prog_active); - preempt_enable(); if (!ret) return;