Page MenuHomeFreeBSD

tcp: provide tcp_rttupdated() and call it periodically
Needs ReviewPublic

Authored by glebius on Sat, Sep 5, 5:45 PM.
Tags
None
Referenced Files
F170687119: D59454.id185943.diff
Sun, Sep 6, 12:57 AM
F170686867: D59454.id185953.diff
Sun, Sep 6, 12:55 AM
F170682932: D59454.diff
Sun, Sep 6, 12:27 AM
F170633077: D59454.diff
Sat, Sep 5, 5:52 PM

Details

Reviewers
rscheff
Group Reviewers
transport
Summary

On every 4-th rtt update (or session close) push connection data into the
TCP hostcache. The "every 4-th" is arbitrarily defined following previous
logic for a closed connection.

This change makes the TCP stack to add to the TCP hostcache during
a connection lifetime. Modern browsers usually open multiple connections
to a site and connections that were created later now can benefit from
host cache data that was gathered by earlier (but still open) connection.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 76584
Build 73467: arc lint + arc unit

Event Timeline

tuexen added inline comments.
sys/netinet/tcp_subr.c
2479

What about this comment? Don't you need to deal with different stacks measure the RTT in different units?

2588

As commented earlier, what about the time unit for srtt and rttvar? Adding entries during the lifetime of a connection changes the semantic.
Wouldn't it make more sense to keep the old behavior, but store updated buffersize when they are changed? Wouldn't that give you what you want with less impact?