Brett Creeley
3c0bf13f5d
ionic: Allow XDP program to be hot swapped
...
Using examples of other driver(s), add the ability to hot-swap an XDP
program without having to reconfigure the queues. To prevent the
q->xdp_prog to be read/written more than once use READ_ONCE() and
WRITE_ONCE() on the q->xdp_prog.
The q->xdp_prog was being checked in multiple different for loops in the
hot path. The change to allow xdp_prog hot swapping created the
possibility for many READ_ONCE(q->xdp_prog) calls during a single napi
callback. Refactor the Rx napi handling to allow a previous
READ_ONCE(q->xdp_prog) (or NULL for hwstamp_rxq) to be passed into the
relevant functions.
Also, move other Rx related hotpath handling into the newly created
ionic_rx_cq_service() function to reduce the scope of the xdp_prog
local variable and put all Rx handling in one function similar to Tx.
Signed-off-by: Brett Creeley <brett.creeley@amd.com >
Signed-off-by: Shannon Nelson <shannon.nelson@amd.com >
Link: https://patch.msgid.link/20240906232623.39651-8-brett.creeley@amd.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org >
2024-09-09 19:18:15 -07:00
..
2024-06-28 09:41:04 +10:00
2024-08-12 18:36:44 +09:00
2024-08-19 15:58:52 +02:00
2024-07-03 15:16:54 +02:00
2024-07-31 13:48:25 +02:00
2024-08-27 06:54:36 +09:00
2024-08-12 10:41:44 +01:00
2024-07-26 11:04:28 -07:00
2024-07-31 14:41:44 +02:00
2024-07-03 15:16:54 +02:00
2024-07-27 15:28:53 -07:00
2024-08-30 17:48:24 -04:00
2024-07-27 12:46:16 -07:00
2024-08-01 07:15:02 -07:00
2024-07-24 20:59:29 +02:00
2024-07-03 15:16:54 +02:00
2024-08-27 21:11:44 +03:00
2024-07-31 14:51:47 -07:00
2024-07-25 06:53:47 -05:00
2024-07-19 15:55:08 -07:00
2024-08-23 11:07:58 -05:00
2024-07-01 18:58:55 +02:00
2024-07-20 12:41:03 -07:00
2024-08-09 15:13:07 -07:00
2024-07-25 10:42:22 -07:00
2024-07-25 10:42:22 -07:00
2024-07-10 15:38:14 +02:00
2024-08-28 18:40:17 +05:30
2024-07-21 17:15:46 -07:00
2024-08-26 19:21:14 -07:00
2024-07-28 15:49:18 -07:00
2024-07-03 15:16:54 +02:00
2024-07-25 10:42:22 -07:00
2024-09-01 06:42:13 +12:00
2024-07-25 10:42:22 -07:00
2024-07-31 13:40:00 +02:00
2024-08-10 21:35:16 +02:00
2024-08-30 11:28:11 +10:00
2024-07-25 10:42:22 -07:00
2024-08-19 11:02:13 -07:00
2024-07-25 10:42:22 -07:00
2024-06-19 12:24:03 -07:00
2024-07-25 10:42:22 -07:00
2024-09-02 07:23:35 -07:00
2024-07-25 10:42:22 -07:00
2024-08-15 00:22:28 +02:00
2024-07-27 10:53:06 -07:00
2024-07-25 06:53:47 -05:00
2024-07-19 09:59:58 -07:00
2024-08-31 15:32:38 +12:00
2024-07-19 15:55:08 -07:00
2024-08-31 06:11:34 +12:00
2024-07-03 15:16:54 +02:00
2024-08-23 13:55:15 +02:00
2024-07-25 08:05:05 -07:00
2024-07-17 17:51:30 -07:00
2024-07-25 12:58:36 -07:00
2024-07-19 21:25:23 -05:00
2024-07-25 10:42:22 -07:00
2024-08-16 14:03:31 -07:00
2024-08-15 10:23:19 -07:00
2024-07-25 10:42:22 -07:00
2024-07-27 12:46:16 -07:00
2024-08-18 10:16:34 -07:00
2024-08-20 13:47:36 +02:00
2024-07-25 10:42:22 -07:00
2024-07-28 11:51:51 -07:00
2024-09-09 19:18:15 -07:00
2024-08-29 11:49:10 -07:00
2024-07-25 10:42:22 -07:00
2024-08-09 14:29:58 -05:00
2024-08-22 13:28:40 -07:00
2024-07-25 10:42:22 -07:00
2024-08-30 11:28:11 +10:00
2024-07-15 18:55:14 +02:00
2024-07-25 12:58:36 -07:00
2024-08-31 14:54:11 +12:00
2024-07-25 10:42:22 -07:00
2024-07-25 10:42:22 -07:00
2024-08-01 07:15:13 -07:00
2024-08-05 21:46:58 +05:30
2024-08-24 16:39:51 +02:00
2024-09-05 09:57:50 -07:00
2024-08-15 12:47:09 +02:00
2024-07-03 15:16:54 +02:00
2024-09-01 09:07:44 +12:00
2024-07-25 10:42:22 -07:00
2024-09-09 17:44:42 -07:00
2024-07-25 06:53:47 -05:00
2024-07-03 15:16:54 +02:00
2024-07-15 18:20:24 -07:00
2024-07-27 12:27:52 -07:00
2024-07-23 13:41:59 -07:00
2024-07-25 10:42:22 -07:00
2024-07-25 10:42:22 -07:00
2024-07-10 17:15:33 +02:00
2024-08-25 12:05:23 +12:00
2024-07-11 15:42:03 +02:00
2024-09-05 20:37:20 -07:00
2024-07-03 15:16:54 +02:00
2024-07-25 10:42:22 -07:00
2024-07-25 10:42:22 -07:00
2024-08-28 20:27:39 +00:00
2024-08-17 22:55:05 +05:30
2024-09-05 12:55:59 +01:00
2024-07-31 13:49:28 +02:00
2024-07-03 15:16:54 +02:00
2024-09-04 17:20:14 -07:00
2024-07-03 15:16:54 +02:00
2024-07-25 10:42:22 -07:00
2024-08-22 20:58:49 +02:00
2024-08-06 08:01:10 +03:00
2024-08-15 07:22:10 +02:00
2024-08-16 21:09:17 -04:00
2024-09-01 07:06:28 +12:00
2024-07-29 12:53:37 -07:00
2024-07-25 10:42:22 -07:00
2024-08-08 14:04:17 -07:00
2024-08-26 19:14:48 -04:00
2024-07-20 12:41:03 -07:00
2024-08-15 19:14:19 -07:00
2024-07-25 10:18:35 -07:00
2024-07-25 10:42:22 -07:00
2024-07-25 10:42:22 -07:00