diff options
author | Cong Wang <cong.wang@bytedance.com> | 2021-03-31 04:32:26 +0200 |
---|---|---|
committer | Alexei Starovoitov <ast@kernel.org> | 2021-04-01 19:56:13 +0200 |
commit | 7786dfc41a74e0567557b5c4a28fc8482f5f5691 (patch) | |
tree | 0dc8965f85862a51cb36bc553a6c7298c86fde86 /include | |
parent | skmsg: Avoid lock_sock() in sk_psock_backlog() (diff) | |
download | linux-7786dfc41a74e0567557b5c4a28fc8482f5f5691.tar.xz linux-7786dfc41a74e0567557b5c4a28fc8482f5f5691.zip |
skmsg: Use rcu work for destroying psock
The RCU callback sk_psock_destroy() only queues work psock->gc,
so we can just switch to rcu work to simplify the code.
Signed-off-by: Cong Wang <cong.wang@bytedance.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: John Fastabend <john.fastabend@gmail.com>
Link: https://lore.kernel.org/bpf/20210331023237.41094-6-xiyou.wangcong@gmail.com
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/skmsg.h | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/include/linux/skmsg.h b/include/linux/skmsg.h index 7382c4b518d7..e7aba150539d 100644 --- a/include/linux/skmsg.h +++ b/include/linux/skmsg.h @@ -102,10 +102,7 @@ struct sk_psock { struct mutex work_mutex; struct sk_psock_work_state work_state; struct work_struct work; - union { - struct rcu_head rcu; - struct work_struct gc; - }; + struct rcu_work rwork; }; int sk_msg_alloc(struct sock *sk, struct sk_msg *msg, int len, |