• Paul E. McKenney's avatar
    bpf: Choose RCU Tasks based on TASKS_RCU rather than PREEMPTION · 1e52af7f
    Paul E. McKenney authored
    The advent of CONFIG_PREEMPT_AUTO, AKA lazy preemption, will mean that
    even kernels built with CONFIG_PREEMPT_NONE or CONFIG_PREEMPT_VOLUNTARY
    might see the occasional preemption, and that this preemption just might
    happen within a trampoline.
    
    Therefore, update bpf_tramp_image_put() to choose call_rcu_tasks()
    based on CONFIG_TASKS_RCU instead of CONFIG_PREEMPTION.
    
    This change might enable further simplifications, but the goal of this
    effort is to make the code safe, not necessarily optimal.
    Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
    Cc: Alexei Starovoitov <ast@kernel.org>
    Cc: Daniel Borkmann <daniel@iogearbox.net>
    Cc: John Fastabend <john.fastabend@gmail.com>
    Cc: Andrii Nakryiko <andrii@kernel.org>
    Cc: Martin KaFai Lau <martin.lau@linux.dev>
    Cc: Song Liu <song@kernel.org>
    Cc: Yonghong Song <yonghong.song@linux.dev>
    Cc: KP Singh <kpsingh@kernel.org>
    Cc: Stanislav Fomichev <sdf@google.com>
    Cc: Hao Luo <haoluo@google.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Ankur Arora <ankur.a.arora@oracle.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: <bpf@vger.kernel.org>
    Signed-off-by: default avatarUladzislau Rezki (Sony) <urezki@gmail.com>
    1e52af7f
trampoline.c 27.8 KB