BPF List
 help / color / mirror / Atom feed
* [PATCH v2 bpf-next 0/6] xsk: struct diet and cleanups
@ 2024-10-07 12:24 Maciej Fijalkowski
  2024-10-07 12:24 ` [PATCH v2 bpf-next 1/6] xsk: get rid of xdp_buff_xsk::xskb_list_node Maciej Fijalkowski
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: Maciej Fijalkowski @ 2024-10-07 12:24 UTC (permalink / raw)
  To: bpf, ast, daniel, andrii
  Cc: netdev, magnus.karlsson, bjorn, maciej.fijalkowski, vadfed

Hi all,

this modest work brings back size of xdp_buff_xsk back to two cache
lines which in turn improves performance. Interestingly I was able to
observe on ice with HW rings sized to 512 around 12% better performance
when running xdpsock in l2fwd scenario. First three patches are behind
this. Other setups were not that impressive, I believe results may vary
based on the underlying CPU. Bottom line is that shrinking this struct
takes off a bit of work from CPU's shoulders.

Other three patches are rather cleanups.

Thanks,
Maciej

v1->v2:
* fix build issues on patch 1 (Daniel, CI)
* be smarter about xsk_buff_pool layout in patch 4 (Vadim)

Maciej Fijalkowski (6):
  xsk: get rid of xdp_buff_xsk::xskb_list_node
  xsk: s/free_list_node/list_node
  xsk: get rid of xdp_buff_xsk::orig_addr
  xsk: carry a copy of xdp_zc_max_segs within xsk_buff_pool
  xsk: wrap duplicated code to function
  xsk: use xsk_buff_pool directly for cq functions

 include/net/xdp_sock_drv.h  | 14 +++++-----
 include/net/xsk_buff_pool.h | 23 +++++++++-------
 net/xdp/xsk.c               | 38 +++++++++++++-------------
 net/xdp/xsk_buff_pool.c     | 54 ++++++++++++++++++++-----------------
 net/xdp/xsk_queue.h         |  2 +-
 5 files changed, 69 insertions(+), 62 deletions(-)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2024-10-14 15:30 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-07 12:24 [PATCH v2 bpf-next 0/6] xsk: struct diet and cleanups Maciej Fijalkowski
2024-10-07 12:24 ` [PATCH v2 bpf-next 1/6] xsk: get rid of xdp_buff_xsk::xskb_list_node Maciej Fijalkowski
2024-10-07 12:24 ` [PATCH v2 bpf-next 2/6] xsk: s/free_list_node/list_node Maciej Fijalkowski
2024-10-07 12:24 ` [PATCH v2 bpf-next 3/6] xsk: get rid of xdp_buff_xsk::orig_addr Maciej Fijalkowski
2024-10-07 12:24 ` [PATCH v2 bpf-next 4/6] xsk: carry a copy of xdp_zc_max_segs within xsk_buff_pool Maciej Fijalkowski
2024-10-07 12:24 ` [PATCH v2 bpf-next 5/6] xsk: wrap duplicated code to function Maciej Fijalkowski
2024-10-07 12:24 ` [PATCH v2 bpf-next 6/6] xsk: use xsk_buff_pool directly for cq functions Maciej Fijalkowski
2024-10-08 10:31 ` [PATCH v2 bpf-next 0/6] xsk: struct diet and cleanups Magnus Karlsson
2024-10-14 15:30 ` patchwork-bot+netdevbpf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox