Bump it to 16 MB to allow higher throughput with default configurations.
Details
- Reviewers
rgrimes glebius cc rscheff nickbanks_netflix.com peter.lei_ieee.org lstewart jtl thj - Group Reviewers
transport
Diff Detail
- Repository
- rG FreeBSD src repository
- Lint
Lint Skipped - Unit
Tests Skipped
Event Timeline
My main concern about these three revisions is that they are somewhat susceptible of remote manipulation, and that could make it easier to DoS a server. However, I view that as a tradeoff that the user needs to make, and think an appropriate release note should suffice to warn about these issues.
For reference, the Linux kernel recently changed it from 6MB to 32MB.
title: tcp: increase tcp_rmem[2] to 32 MB
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=572be9bf9d0d96242dd7977ce456009b6c690dce
I would of done all 3 of these as 1 review/commit, they really all go hand in hand, I might of even gone further and added a new #define "INFLIGHTMAX" or some such, which was used in all 3 places to show just how coupled these values really are.
Then by all means please DO update these to 32MB, I only suggested to use 16MB as a minimum bump, as that gets us someone closer to new systems, but if Linux has already pushed rmem to 32MB we should match that, giving both Linux and FreeBSD the same WSCALE on tcp, and making benchmarks and real world performance between the 2 similiar.
I am happy with all three revisions and echo the comments from rgrimes and jtl on a single review and the impact being documented.
When we discussed the change yesterday we misremembered the current default as 4MB and decided that increasing the memory liability 4x was fine. As this is easy to reconfigure I don't have any issue with matching Linux, but for 15 this works too.
@tuexen please pick your favourite number :D