Commit 1d7bf6b7 authored by Thomas Gleixner's avatar Thomas Gleixner Committed by Alexei Starovoitov

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: default avatarThomas Gleixner <tglx@linutronix.de>
Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/bpf/20200224145643.151953573@linutronix.de
parent b0a81b94
...@@ -9206,7 +9206,6 @@ static void bpf_overflow_handler(struct perf_event *event, ...@@ -9206,7 +9206,6 @@ static void bpf_overflow_handler(struct perf_event *event,
int ret = 0; int ret = 0;
ctx.regs = perf_arch_bpf_user_pt_regs(regs); ctx.regs = perf_arch_bpf_user_pt_regs(regs);
preempt_disable();
if (unlikely(__this_cpu_inc_return(bpf_prog_active) != 1)) if (unlikely(__this_cpu_inc_return(bpf_prog_active) != 1))
goto out; goto out;
rcu_read_lock(); rcu_read_lock();
...@@ -9214,7 +9213,6 @@ static void bpf_overflow_handler(struct perf_event *event, ...@@ -9214,7 +9213,6 @@ static void bpf_overflow_handler(struct perf_event *event,
rcu_read_unlock(); rcu_read_unlock();
out: out:
__this_cpu_dec(bpf_prog_active); __this_cpu_dec(bpf_prog_active);
preempt_enable();
if (!ret) if (!ret)
return; return;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment