Re: Request for Testing: TCP RACK

From: <tuexen_at_freebsd.org>
Date: Thu, 16 Nov 2023 23:12:35 UTC
> On Nov 16, 2023, at 14:05, Herbert J. Skuhra <herbert@gojira.at> wrote:
> 
> On Thu, 16 Nov 2023 13:06:03 +0100, "Herbert J. Skuhra" wrote:
>> 
>> Hi,
>> 
>> On Thu, 16 Nov 2023 10:13:05 +0100, tuexen@freebsd.org wrote:
>>> 
>>> Dear all,
>>> 
>>> recently the main branch was changed to build the TCP RACK stack
>>> which is a loadable kernel module, by default:
>>> https://cgit.FreeBSD.org/src/commit/?id=3a338c534154164504005beb00a3c6feb03756cc
>>> 
>>> As discussed on the bi-weekly transport call, it would be great if people
>>> could test the RACK stack for their workload. Please report any problems to the
>>> net@ mailing list or open an issue in the bug tracker and drop me a note via email.
>>> This includes regressions in CPU usage, regressions in performance or any other
>>> unexpected change you observe.
>>> 
>>> You can load the kernel module using
>>> kldload tcp_rack
>>> 
>>> You can make the RACK stack the default stack using
>>> sysctl net.inet.tcp.functions_default=rack
>>> 
>>> Based on the feedback we get, the default stack might be switched to the
>>> RACK stack.
>>> 
>>> Please let me know if you have any questions.
>> 
>> I am running main-n266450-a592812327de with a GENERIC-NODEBUG kernel.
>> 
>> # kldload tcp_rack
>> kldload: an error occurred while loading module tcp_rack. Please check
>> dmesg(8) for more details.
>> 
>> In dmesg:
>> KLD tcp_rack.ko: depends on tcphpts - not available or version mismatch
>> linker_load_file: /boot/kernel/tcp_rack.ko - unsupported file type
>> 
>> So you have to build a kernel with "options TCPHPTS" first?
> 
> OK, I am now running GENERIC-NODEBUG + "options TCPHPTS".
> 
> After setting "sysctl net.inet.tcp.functions_default=rack" git no
> longer works:
> 
> # sysctl net.inet.tcp.functions_default=rack
> $ git pull
> client_loop: send disconnect: Broken pipe
> fatal: the remote end hung up upon initial contact
> # sysctl net.inet.tcp.functions_default=freebsd
> $ git pull
> Already up to date.
Interesting. It works on my development system:
tuexen@head:~/freebsd-src % sysctl net.inet.tcp.functions_default
net.inet.tcp.functions_default: rack
tuexen@head:~/freebsd-src % git pull
Already up to date.
tuexen@head:~/freebsd-src %
Could you provide a .pcapng file covering the `git pull` command?

Best regards
Michael
> 
> --
> Herbert