From nobody Fri Oct 11 12:55:41 2024 X-Original-To: freebsd-net@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XQ67K2Sh7z5YqxX for ; Fri, 11 Oct 2024 12:55:57 +0000 (UTC) (envelope-from asomers@gmail.com) Received: from mail-lj1-f174.google.com (mail-lj1-f174.google.com [209.85.208.174]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XQ67J57Bbz4XVv for ; Fri, 11 Oct 2024 12:55:56 +0000 (UTC) (envelope-from asomers@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-lj1-f174.google.com with SMTP id 38308e7fff4ca-2fb3c3d5513so2111201fa.1 for ; Fri, 11 Oct 2024 05:55:56 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1728651355; x=1729256155; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=WCBQJLWILIoWf1LxodIQf5UQGNl5beZFexBDL4XaClo=; b=diPZKiLr894aIHowQf02Ssam0tOqxtcBAOtqg1DWkeGu8la6IklPWmeAkwuxu6GxGs KOx89Qmxv2adAsmQCk7hsDF3LTTQMljMweejhsGXz2IL4K4sEvsq34XQj+c/VVq+QuXM MGjdmvOhP+L0zbfz4S0Z7e1sp9LiJ514qUfi9lLqP6I3frXWL/LJGVzxM7Ee39R7OtQZ W3WVJ5qDG4DF/smINS05yeI3aW3G/xIEtxAfXxtsrxa17GXwiaxuad61gn3WulPslVHm kbqPC1b1iFQ8+GtJld/wAkNfRUI45QcuGXTX9IVudV+uI5pJ2TyXqHrCSS/cMZJcDbRN JBRg== X-Gm-Message-State: AOJu0Yxd1TCc+4a29nSyi32UpjhsH3t2bb8jNSWD2VhIUpApwAuo/Qeg e8StRBm3we16Ym1id6ITGVt12woQnPWL2beHS13MiTmHVnYIlMJ8Zc7ErE7pLbufjAijneLcfn9 gWVzG//UKe6y+a0B/koxYGnzhP89Gxg== X-Google-Smtp-Source: AGHT+IEeruD1qXOeRbWmbzkvH4nbyYBDA0fVB2J3T3oxOghg/Gdu1YQFuM/kowaHV1wHfawAeXh00runokGQQy+iI+4= X-Received: by 2002:a05:651c:211f:b0:2fa:de13:5c1b with SMTP id 38308e7fff4ca-2fb329a7859mr12431161fa.29.1728651354543; Fri, 11 Oct 2024 05:55:54 -0700 (PDT) List-Id: Networking and TCP/IP with FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-net List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-net@FreeBSD.org MIME-Version: 1.0 References: <7FB6F5E5-C6C0-4C18-B5FD-AEB18F0D5967@lurchi.franken.de> In-Reply-To: <7FB6F5E5-C6C0-4C18-B5FD-AEB18F0D5967@lurchi.franken.de> From: Alan Somers Date: Fri, 11 Oct 2024 06:55:41 -0600 Message-ID: Subject: Re: How does the TCP measurement period work? To: Michael Tuexen Cc: FreeBSD Net Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US] X-Rspamd-Queue-Id: 4XQ67J57Bbz4XVv X-Spamd-Bar: ---- On Fri, Oct 11, 2024 at 1:05=E2=80=AFAM Michael Tuexen wrote: > > > On 11. Oct 2024, at 01:07, Alan Somers wrote: > > > > Can somebody please explain to me how the TCP measurement period > > works? When does h_ertt decide to take a new measurement? > > > > Motivation: > > I recently saw a long-distance connection that should've been capable > > of 80+ MBps suddenly drop to < 1 MBps. Subsequent analysis of the > > pcap file showed that while the typical RTT was 16.5 ms, there were a > > few spikes as high as 380ms that coincided with the drop in > > throughput. The surprising part was that even though RTT returned to > > a good value, the throughput stayed low for the entire remaining > > transfer, which lasted 750s. I would've expected throughput to > > recover once RTT did. My theory is that h_ertt never made a new > > measurement. However, I cannot reproduce the problem using dummynet > > on a local VM. With dummynet, as soon as I return the RTT to normal, > > the throughput quickly recovers, as one would expect. > Which TCP stack and which CC module did you use? Which version of FreeBSD= ? I was using the regular freebsd TCP stack with cc_chd. The production system was running FreeBSD 14.1, but my attempts to recreate the situation using dummynet used 15.0-CURRENT.