-
Notifications
You must be signed in to change notification settings - Fork 128
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
base: bpf-next_base
Are you sure you want to change the base?
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
Upstream branch: 4580f4e |
97789f6
to
c3898d0
Compare
f5d8880
to
03b9bd3
Compare
Upstream branch: 0ba0ef0 |
c3898d0
to
cc9cedf
Compare
03b9bd3
to
df10b88
Compare
Upstream branch: fc3ab17 |
cc9cedf
to
74709b4
Compare
df10b88
to
16566af
Compare
Upstream branch: 43d9d43 |
74709b4
to
82e0655
Compare
16566af
to
129b680
Compare
Upstream branch: 42c5e6d |
82e0655
to
f36fe1e
Compare
129b680
to
3ad8095
Compare
Upstream branch: e4d68c0 |
f36fe1e
to
8cb6ce8
Compare
3ad8095
to
e68fc46
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]>
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]>
Upstream branch: 0b93631 |
8cb6ce8
to
1eaacb2
Compare
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