Alexander Lobakin
ad07f29b9c
ice: Micro-optimize .ndo_xdp_xmit() path
...
After the recent mbuf changes, ice_xmit_xdp_ring() became a 3-liner.
It makes no sense to keep it global in a different file than its caller.
Move it just next to the sole call site and mark static. Also, it
doesn't need a full xdp_convert_frame_to_buff(). Save several cycles
and fill only the fields used by __ice_xmit_xdp_ring() later on.
Finally, since it doesn't modify @xdpf anyhow, mark the argument const
to save some more (whole -11 bytes of .text! :D).
Thanks to 1 jump less and less calcs as well, this yields as many as
6.7 Mpps per queue. `xdp.data_hard_start = xdpf` is fully intentional
again (see xdp_convert_buff_to_frame()) and just works when there are
no source device's driver issues.
Signed-off-by: Alexander Lobakin <alexandr.lobakin@intel.com >
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net >
Acked-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com >
Link: https://lore.kernel.org/bpf/20230210170618.1973430-7-alexandr.lobakin@intel.com
2023-02-13 19:13:13 +01:00
..
2022-12-16 13:04:15 -06:00
2023-01-19 16:24:04 +01:00
2023-01-29 11:17:34 -08:00
2022-12-13 15:22:14 -08:00
2023-02-02 20:26:45 +09:00
2022-12-25 13:38:09 -08:00
2023-01-27 22:56:18 -08:00
2023-02-03 11:35:42 -08:00
2023-01-17 15:59:02 -08:00
2023-01-08 21:35:01 +01:00
2023-01-12 17:02:20 -06:00
2022-12-13 13:46:07 -08:00
2022-12-12 12:52:02 -08:00
2023-01-19 17:24:47 +01:00
2022-11-26 16:49:28 -05:00
2023-01-10 20:31:08 +01:00
2022-12-19 07:13:33 -06:00
2023-01-12 05:56:06 -06:00
2023-01-25 15:35:26 -08:00
2022-11-21 15:34:40 -08:00
2022-12-05 21:57:20 +09:00
2023-01-19 18:59:34 +05:30
2023-01-27 14:16:18 +01:00
2023-01-20 19:47:34 +01:00
2022-12-16 03:49:24 -08:00
2023-01-17 18:09:21 +01:00
2023-02-03 10:25:41 -08:00
2022-12-30 10:49:52 +08:00
2022-11-25 13:01:55 -05:00
2022-11-24 17:12:15 +01:00
2023-01-27 14:05:38 +01:00
2023-02-03 10:09:55 -08:00
2023-02-09 09:09:13 -08:00
2022-11-25 01:04:21 +01:00
2023-02-03 07:45:18 +01:00
2022-12-13 13:09:38 -08:00
2022-11-28 18:29:53 +00:00
2023-02-02 14:49:55 -08:00
2022-12-11 21:25:58 +01:00
2023-01-21 18:15:19 +00:00
2023-02-08 21:01:17 -08:00
2023-01-29 11:06:47 -08:00
2023-01-05 17:29:57 +02:00
2023-01-13 13:46:32 +01:00
2022-12-14 15:23:49 -08:00
2022-12-25 13:38:09 -08:00
2022-12-25 13:38:09 -08:00
2022-11-24 23:12:18 +11:00
2022-12-21 09:31:18 -08:00
2022-12-02 17:48:04 +01:00
2023-01-27 16:09:12 -08:00
2023-01-24 16:34:06 +01:00
2022-12-27 09:54:32 +01:00
2022-12-09 10:29:58 +01:00
2023-01-30 21:07:21 -08:00
2023-01-20 13:24:11 +01:00
2023-01-02 15:57:36 +01:00
2023-01-02 12:08:53 +01:00
2023-02-13 19:13:13 +01:00
2023-01-09 07:34:13 +00:00
2022-12-02 23:52:32 -08:00
2023-02-09 12:25:40 -08:00
2023-01-28 14:39:31 +01:00
2023-02-07 14:17:12 -08:00
2023-01-09 09:51:56 +01:00
2023-01-13 17:32:22 -06:00
2022-12-25 13:38:09 -08:00
2023-01-26 13:55:38 +00:00
2023-01-18 22:58:05 +05:30
2023-01-17 14:16:45 +01:00
2023-02-02 11:34:38 +01:00
2022-11-25 19:36:52 +01:00
2022-12-17 08:39:31 -06:00
2022-12-02 20:49:49 +01:00
2022-11-24 23:31:47 +11:00
2023-01-20 18:20:38 -08:00
2022-12-21 09:41:28 -08:00
2022-12-11 19:30:20 -08:00
2023-01-03 15:54:38 +00:00
2022-12-07 11:20:55 -07:00
2023-01-03 11:30:46 +01:00
2023-01-23 23:33:47 +01:00
2023-01-25 09:46:49 +00:00
2022-11-19 00:56:15 +01:00
2023-02-02 14:49:55 -08:00
2022-11-23 19:45:33 +01:00
2023-01-27 22:56:18 -08:00
2022-12-19 08:47:33 -06:00
2023-01-11 14:15:22 +00:00
2023-01-17 19:23:36 +01:00
2023-01-27 22:56:18 -08:00
2022-12-12 10:17:08 -08:00
2023-01-25 15:37:21 +01:00
2023-01-09 10:44:43 +02:00
2023-01-31 15:51:52 +01:00
2023-01-18 19:08:37 -05:00
2023-02-02 11:27:28 +01:00
2023-01-27 06:18:41 -05:00
2023-01-10 10:44:37 -07:00
2023-02-02 14:49:55 -08:00
2023-02-05 11:43:00 -08:00
2022-12-16 03:49:24 -08:00
2022-12-28 05:28:11 -05:00
2023-01-19 17:26:33 +01:00
2023-01-30 14:40:50 +01:00
2023-01-23 11:26:50 +00:00
2022-11-22 13:13:51 +02:00