diff options
author | Andrew Gallatin <gallatin@FreeBSD.org> | 2025-08-12 17:54:26 +0000 |
---|---|---|
committer | Andrew Gallatin <gallatin@FreeBSD.org> | 2025-08-12 18:02:28 +0000 |
commit | e69573bc2bee2ebdba06a71425c9a0069ed8e5fd (patch) | |
tree | 0a118e23f6baf1ea0bd7c78289d09155a68eaf77 /sys/contrib/openzfs/module/os/freebsd/zfs/zvol_os.c | |
parent | 6bca82843e5605fc242211093b56d1129eb4307c (diff) |
Simplify LRO handling by:
- removing fowarding checks... LRO will already do this
- using the rss sorted LRO (tcp_lro_queue_mbuf()) API, which
allows LRO to accumulated large numbers of packets
and sort them by LRO hash and arrival time, leading to
far higher LRO aggregation rates on servers with lots
of connections (esp. internet facing servers).
- eliminate cache busing loop over chained packets
Note that this change may slightly pessimize a silly case
(LRO enabled + IP forwarding enabled) wth the benefit of giving
a small speedup for forwarding with LRO disabled, and a very
large speedup for LRO w/o forwarding disabled. And the large
benefit of simplifying the code.
Reviewed by: kbowling, markj
Tested by: olivier
Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D51772
Diffstat (limited to 'sys/contrib/openzfs/module/os/freebsd/zfs/zvol_os.c')
0 files changed, 0 insertions, 0 deletions