mirror of
https://github.com/torvalds/linux.git
synced 2026-03-08 04:04:43 +01:00
bpf: Reset prog callback in bpf_async_cancel_and_free()
Replace prog and callback in bpf_async_cb after removing visibility of bpf_async_cb in bpf_async_cancel_and_free() to increase the chances the scheduled async callbacks short-circuit execution and exit early, and not starting a RCU tasks trace section. This improves the overall time spent in running the wq selftest. Suggested-by: Alexei Starovoitov <ast@kernel.org> Signed-off-by: Kumar Kartikeya Dwivedi <memxor@gmail.com> Link: https://lore.kernel.org/r/20260205003853.527571-3-memxor@gmail.com Signed-off-by: Alexei Starovoitov <ast@kernel.org>
This commit is contained in:
parent
81502d7f20
commit
5000a097f8
1 changed files with 1 additions and 0 deletions
|
|
@ -1664,6 +1664,7 @@ static void bpf_async_cancel_and_free(struct bpf_async_kern *async)
|
|||
if (!cb)
|
||||
return;
|
||||
|
||||
bpf_async_update_prog_callback(cb, NULL, NULL);
|
||||
/*
|
||||
* No refcount_inc_not_zero(&cb->refcnt) here. Dropping the last
|
||||
* refcnt. Either synchronously or asynchronously in irq_work.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue