-
Notifications
You must be signed in to change notification settings - Fork 126
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
tcp_bpf: improve ingress redirection performance with message corking #8541
Conversation
Upstream branch: 63817c7 |
74bd319
to
5ed7ad7
Compare
Upstream branch: 201b62c |
c0381b3
to
2ef689f
Compare
5ed7ad7
to
1be57b8
Compare
Upstream branch: 2398608 |
2ef689f
to
0c31378
Compare
1be57b8
to
75f3d6d
Compare
Upstream branch: 11ba7ce |
0c31378
to
325a95f
Compare
75f3d6d
to
f7ab861
Compare
Upstream branch: 236d391 |
325a95f
to
9a35768
Compare
f7ab861
to
9819511
Compare
Upstream branch: 1ffe30e |
9a35768
to
cced317
Compare
9819511
to
2f4a9ca
Compare
Upstream branch: 4e4136c |
cced317
to
ecaeeb3
Compare
2f4a9ca
to
f03230d
Compare
Upstream branch: 9138048 |
ecaeeb3
to
66c2c5a
Compare
f03230d
to
a3b8426
Compare
Upstream branch: b123480 |
66c2c5a
to
97789f6
Compare
a3b8426
to
f5d8880
Compare
9cef83a
to
e4b5989
Compare
e14a0d8
to
503edd4
Compare
Upstream branch: ae0a457 |
e4b5989
to
efc38d8
Compare
503edd4
to
7e623dc
Compare
Upstream branch: f4edc66 |
7e623dc
to
156a3ac
Compare
Upstream branch: 6ca2162 |
6fe505d
to
84111f5
Compare
156a3ac
to
50dba77
Compare
Upstream branch: a259804 |
84111f5
to
1958cc2
Compare
50dba77
to
ce294a5
Compare
Upstream branch: 79db658 |
1958cc2
to
5adea98
Compare
ce294a5
to
e34fe93
Compare
The name sk_msg_alloc is misleading, that function does not allocate sk_msg at all, it simply refills sock page frags. Rename it to sk_msg_expand() to better reflect what it actually does. Signed-off-by: Cong Wang <[email protected]>
Optimizing redirect ingress performance requires frequent allocation and deallocation of sk_msg structures. Introduce a dedicated kmem_cache for sk_msg to reduce memory allocation overhead and improve performance. Reviewed-by: Cong Wang <[email protected]> Signed-off-by: Zijian Zhang <[email protected]>
Upstream branch: e16e64f |
This patch aims to save some space in struct sk_psock and prepares for the next patch which will add more fields. psock->eval can only have 4 possible values, make it 8-bit is sufficient. psock->redir_ingress is just a boolean, using 1 bit is enough. Signed-off-by: Cong Wang <[email protected]>
The TCP_BPF ingress redirection path currently lacks the message corking mechanism found in standard TCP. This causes the sender to wake up the receiver for every message, even when messages are small, resulting in reduced throughput compared to regular TCP in certain scenarios. This change introduces a kernel worker-based intermediate layer to provide automatic message corking for TCP_BPF. While this adds a slight latency overhead, it significantly improves overall throughput by reducing unnecessary wake-ups and reducing the sock lock contention. Reviewed-by: Amery Hung <[email protected]> Co-developed-by: Cong Wang <[email protected]> Signed-off-by: Cong Wang <[email protected]> Signed-off-by: Zijian Zhang <[email protected]>
5adea98
to
5ea0f29
Compare
At least one diff in series https://patchwork.kernel.org/project/netdevbpf/list/?series=936737 irrelevant now. Closing PR. |
Pull request for series with
subject: tcp_bpf: improve ingress redirection performance with message corking
version: 1
url: https://patchwork.kernel.org/project/netdevbpf/list/?series=936737