Scott Mitchell
e19079adcd
netfilter: nfnetlink_queue: optimize verdict lookup with hash table
...
The current implementation uses a linear list to find queued packets by
ID when processing verdicts from userspace. With large queue depths and
out-of-order verdicting, this O(n) lookup becomes a significant
bottleneck, causing userspace verdict processing to dominate CPU time.
Replace the linear search with a hash table for O(1) average-case
packet lookup by ID. A global rhashtable spanning all network
namespaces attributes hash bucket memory to kernel but is subject to
fixed upper bound.
Signed-off-by: Scott Mitchell <scott.k.mitch1@gmail.com >
Signed-off-by: Florian Westphal <fw@strlen.de >
2026-01-29 09:52:07 +01:00
..
2025-07-10 15:27:32 -07:00
2025-12-07 08:29:09 -08:00
2026-01-20 19:12:06 -08:00
2025-10-31 17:42:35 -07:00
2025-11-04 19:10:32 -08:00
2025-11-27 12:19:08 -08:00
2025-11-04 19:10:32 -08:00
2025-10-31 06:46:03 -07:00
2026-01-09 16:03:57 -05:00
2026-01-12 16:37:40 -08:00
2026-01-25 13:14:11 -08:00
2025-12-11 01:35:41 -08:00
2026-01-15 09:52:39 +01:00
2026-01-06 00:39:43 +01:00
2026-01-26 16:35:53 -08:00
2025-10-01 09:48:21 +02:00
2025-11-25 19:20:42 -08:00
2025-11-04 12:36:51 +01:00
2026-01-21 19:52:29 -08:00
2025-11-24 19:27:31 -08:00
2026-01-27 17:32:56 -08:00
2025-12-22 12:36:40 +01:00
2025-12-04 11:15:13 +01:00
2025-11-04 19:10:33 -08:00
2026-01-28 19:35:35 -08:00
2026-01-29 09:52:06 +01:00
2025-11-28 19:20:27 -08:00
2025-12-03 17:24:33 -08:00
2025-10-30 09:03:12 +01:00
2026-01-19 09:55:41 -08:00
2025-04-15 17:54:56 -07:00
2025-06-08 09:07:37 +02:00
2025-11-04 19:10:32 -08:00
2026-01-22 20:14:36 -08:00
2025-02-18 10:35:44 +01:00
2025-12-01 13:52:13 -08:00
2025-11-03 17:40:54 -08:00
2025-12-23 09:12:25 +01:00
2025-06-12 18:21:59 -07:00
2026-01-29 09:52:07 +01:00
2025-08-30 10:15:30 -04:00
2025-11-04 19:10:32 -08:00
2026-01-20 19:15:40 -08:00
2025-12-28 09:15:42 +01:00
2026-01-22 12:55:22 +01:00
2025-11-04 19:10:33 -08:00
2025-11-04 19:10:33 -08:00
2024-12-18 19:23:04 -08:00
2025-11-25 19:20:42 -08:00
2025-11-04 19:10:32 -08:00
2026-01-23 11:51:31 -08:00
2025-09-22 17:40:30 -07:00
2025-12-30 11:45:51 +01:00
2026-01-21 19:59:29 -08:00
2026-01-22 20:14:36 -08:00
2026-01-17 15:10:34 -08:00
2025-11-25 19:20:42 -08:00
2025-12-04 11:07:18 -08:00
2025-11-13 12:35:38 -08:00
2025-12-24 09:23:04 -08:00
2025-03-11 11:30:28 +01:00
2025-11-13 12:35:38 -08:00
2025-10-31 06:46:03 -07:00
2026-01-08 08:45:13 -08:00
2026-01-27 10:45:38 +01:00
2026-01-22 20:14:36 -08:00
2025-11-04 19:10:32 -08:00
2026-01-20 18:06:01 -08:00
2025-12-15 11:06:25 +01:00
2025-11-26 13:45:23 -07:00
2025-10-17 16:29:26 -07:00
2025-09-18 12:32:06 +02:00
2025-12-05 15:52:30 -08:00