From nobody Fri Apr 21 11:12:37 2023 X-Original-To: dev-commits-src-main@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 4Q2sLs2B2sz46H3B; Fri, 21 Apr 2023 11:12:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Q2sLs1hlMz3sF6; Fri, 21 Apr 2023 11:12:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682075557; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=34AVdITkjyiV7kDpzNTvHgZd+aCpli8l2+bCA/X4yGg=; b=Y3ucKv15Yliq6EE8+WK0Dkx1XEPas/L3EKQ4Hc9tGQMD2UpIjtG/hWDTXbW5qgzQUKgD99 +LX28GQY5zRmTeH2d9egQqncBaxR88NfgxdJef5VRig2hBz9Z0SO/kMlfUt3HPOKcLHdU+ GJEcmoNrVJRPozCKSmxYPT/aYBtnFNQXvzFelBYivCVdVHmQB6WTWDvTcfZUL6OKqZPBye pbGbmjJBXsAoFCrrukNUoOErZhCVlEqdge3Rv4RLPu8N3Li1O2U4ioVDwNaYPRmxHN1lwE xImj2ZRxutyER4moGlP6vMtYcr2ONVTq5vo2cHhtHMdIiAtB7o1LkGw30XX0+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1682075557; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=34AVdITkjyiV7kDpzNTvHgZd+aCpli8l2+bCA/X4yGg=; b=toW3ggxwkyWesa8pZBN2wF2+9BM0rH6RRbTtDi9JJyJ5ATD0qShcyeuuqzjGaN7sibMw3D i5WzeLe5pvSgVOx78DvIlSTllaPDlNpOxezvSn9rPih8X7ozdC8quUkJuXUizu3Oe8sbfv e4zrnqRX25nVJ6+Pp8ToK4PDILBV4uykwi1LwkqLn39BhHaGvsEdQcIwC8LGGjg3xKcl3H xdbsoZaE5C7W/8I0wXBZ9hhzOVm4yD8F0ssd7bLv4ZDTUJzqro5efz9hJpvvBGfdzfhkhi MZg/HGC9ctu4+0Bmi2B4heRPPTX+NqA+U+nuTGBf9eVx2nWDLSXjOMxbhc6Cnw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1682075557; a=rsa-sha256; cv=none; b=U/TC4rM0oSscz7O30a3yVNaBCNA1vzQtHEQdDpY6jeUMesxb9t/6/ZEmaBTqmdkU3Wi9t0 HQyQ0Lv0MERkCe4b0pJ7VUY6maaZDh2of6qVIdzbatvQ1ZinDvfBZX/kKqVWiOsSgPasuM lVwPvIFYZSZ5Cvrw8mWqy5HlhxEBGmQBgV0uOQhezg2G+yo3isjuLQ6h+oJ8A1H9Y+HpZP INAceGq2D3P8hK2tZdeoYok+MP/8iNNWbwKHQVoEc0o7/h6chxrgSDwstYUQdxXIJFXNmo lDVL0pwvfr2quohxxmEg6XmJDSP8+ZChkK1x6dthEf/Z0svAYEM0fHbFNxOchg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Q2sLs0m07zJ1k; Fri, 21 Apr 2023 11:12:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 33LBCb3l022808; Fri, 21 Apr 2023 11:12:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 33LBCblV022806; Fri, 21 Apr 2023 11:12:37 GMT (envelope-from git) Date: Fri, 21 Apr 2023 11:12:37 GMT Message-Id: <202304211112.33LBCblV022806@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Randall Stewart Subject: git: 01216268f89e - main - tcp: hpts needs to still call output even after input. List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: rrs X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 01216268f89ef5403530446bda5b52a8e87ca544 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by rrs: URL: https://cgit.FreeBSD.org/src/commit/?id=01216268f89ef5403530446bda5b52a8e87ca544 commit 01216268f89ef5403530446bda5b52a8e87ca544 Author: Randall Stewart AuthorDate: 2023-04-21 11:12:25 +0000 Commit: Randall Stewart CommitDate: 2023-04-21 11:12:25 +0000 tcp: hpts needs to still call output even after input. The other stacks it turns out actually expect the output to be called and can become stuck if it is not. This is because they run there timer code from there and the input routine does not always assure a timer is running. The real longterm fix here might be to go into the other stacks (rack and bbr) and make sure that a timer is running after input if you don't do output.. as well as call the timer functions. This would cut down on calls from hpts. But I think its too dramatic of a change for the immediate time. Reviewed by: tuexen, glebius Sponsored by: Netflix Inc Differential Revision:https://reviews.freebsd.org/D39738 --- sys/netinet/tcp_hpts.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/sys/netinet/tcp_hpts.c b/sys/netinet/tcp_hpts.c index 2aa4135c7a25..cc1bd71d0d43 100644 --- a/sys/netinet/tcp_hpts.c +++ b/sys/netinet/tcp_hpts.c @@ -1348,11 +1348,10 @@ again: /* The input killed the connection */ goto skip_pacing; } - } else { - error = tcp_output(tp); - if (error < 0) - goto skip_pacing; } + error = tcp_output(tp); + if (error < 0) + goto skip_pacing; if (ninp) { /* * If we have a nxt inp, see if we can