-
Notifications
You must be signed in to change notification settings - Fork 5
xsk: refactors around generic xmit side #6016
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
xsk: refactors around generic xmit side #6016
Conversation
|
Upstream branch: 5a427fd |
|
Upstream branch: 5a427fd |
19cb001 to
e3953c7
Compare
da4ec66 to
a98c373
Compare
|
Upstream branch: 58a5820 |
e3953c7 to
023099e
Compare
|
Upstream branch: 58a5820 |
023099e to
62a375d
Compare
a98c373 to
f2c71e8
Compare
|
Upstream branch: 348f611 |
62a375d to
83ad645
Compare
f2c71e8 to
0af025f
Compare
|
Upstream branch: 2383e45 |
83ad645 to
6f7d5e1
Compare
0af025f to
30b62c7
Compare
|
Upstream branch: f0b5c14 |
6f7d5e1 to
00582f7
Compare
30b62c7 to
41e1333
Compare
|
Upstream branch: 8b52d09 |
00582f7 to
ae8cd9f
Compare
41e1333 to
34ccf81
Compare
|
Upstream branch: 34f033a |
ae8cd9f to
4562d90
Compare
34ccf81 to
aea6d55
Compare
|
Upstream branch: ceeaa71 |
4562d90 to
8fd2da4
Compare
aea6d55 to
2225dd1
Compare
We are unnecessarily setting a bunch of skb fields per each processed descriptor, which is redundant for fragmented frames. Let us set these respective members for first fragment only. Signed-off-by: Maciej Fijalkowski <[email protected]>
Devices that set IFF_TX_SKB_NO_LINEAR will not execute branch that handles metadata, as we set @first_frag only for !IFF_TX_SKB_NO_LINEAR code in xsk_build_skb(). Same functionality can be achieved with checking if xsk_get_num_desc() returns 0. To replace current usage of @first_frag with XSKCB(skb)->num_descs check, pull out the code from xsk_set_destructor_arg() that initializes sk_buff::cb and call it before skb_store_bits() in branch that creates skb against first processed frag. This so error path has the XSKCB(skb)->num_descs initialized and can free skb in case skb_store_bits() failed. Signed-off-by: Maciej Fijalkowski <[email protected]>
xsk_build_skb() has gone wild with its size and one of the things we can do about it is to pull out a branch that takes care of metadata handling and make it a separate function. Consider this as a good start of cleanup. No functional changes here. Signed-off-by: Maciej Fijalkowski <[email protected]> Acked-by: Stanislav Fomichev <[email protected]> Reviewed-by: Jason Xing <[email protected]>
|
Upstream branch: d4680a1 |
8fd2da4 to
e037c90
Compare
|
At least one diff in series https://patchwork.kernel.org/project/netdevbpf/list/?series=1004951 expired. Closing PR. |
Pull request for series with
subject: xsk: refactors around generic xmit side
version: 1
url: https://patchwork.kernel.org/project/netdevbpf/list/?series=1004951