]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
tcp: HPTS performance enhancements
authorRandall Stewart <rrs@FreeBSD.org>
Tue, 6 Jul 2021 19:23:22 +0000 (15:23 -0400)
committerRandall Stewart <rrs@FreeBSD.org>
Wed, 7 Jul 2021 11:22:35 +0000 (07:22 -0400)
commitd7955cc0ffdf9fb58013245a6f181c757574ea0a
tree9fca6255a9e563ffc16af780ef68a87da662e0f3
parent747a6b7ace3dd9401289bde8c4e7fc91b8dc18dc
tcp: HPTS performance enhancements

HPTS drives both rack and bbr, and yet there have been many complaints
about performance. This bit of work restructures hpts to help reduce CPU
overhead. It does this by now instead of relying on the timer/callout to
drive it instead use user return from a system call as well as lro flushes
to drive hpts. The timer becomes a backstop that dynamically adjusts
based on how "late" we are.

Reviewed by: tuexen, glebius
Sponsored by: Netflix Inc.
Differential Revision: https://reviews.freebsd.org/D31083
sys/kern/subr_trap.c
sys/netinet/in_pcb.h
sys/netinet/tcp_hpts.c
sys/netinet/tcp_hpts.h
sys/netinet/tcp_lro.c
sys/netinet/tcp_lro.h
sys/netinet/tcp_stacks/bbr.c
sys/netinet/tcp_stacks/rack.c