From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f225.google.com (mail-pl1-f225.google.com [209.85.214.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9451E44CAD4 for ; Thu, 7 May 2026 15:51:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.225 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778169097; cv=none; b=kSSPGEJlmSdRUVldKI1ZxDG3xConrwIc9ef3TB0LTzVhBdj6gvoHn3YFp7V2/teWF174UrXkH7LEz6d6BsyBsiO4jiVF92WyOC3AUXtZqAqe9MzeUICP/YoGv3FyrDsfMNvoEhBz0oE3lSYHjs/2RTy4/DEzF+Y6zPbwtKTL6qM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778169097; c=relaxed/simple; bh=T1es+NUo7iUHfYNW7MbhVaFEpDoDjGvfl8mP6hP0Drs=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=YYn79PTvo/8daDjIw7k8cPrtUgGpHYl1rw5pYT7sUHnYdTVnOeoe7/kTvvuooqa7oauqft1cB91N+HdGxuLQFMGw3/tXIBgu44StzflFq+6V6WtW7QB35u7q27DvKrY25l1xQpFz9DKV921FmNvxUKWfV0mCMGIHAj7anu9UYo8= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=broadcom.com; spf=fail smtp.mailfrom=broadcom.com; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b=gxruH3tk; arc=none smtp.client-ip=209.85.214.225 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=broadcom.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=broadcom.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=broadcom.com header.i=@broadcom.com header.b="gxruH3tk" Received: by mail-pl1-f225.google.com with SMTP id d9443c01a7336-2ba5c126afaso1056805ad.3 for ; Thu, 07 May 2026 08:51:35 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778169095; x=1778773895; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:dkim-signature:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Ax1Aa73Yhe1dRK53NtIJp2y9KXXpNOfAjqoEk54yGok=; b=BpGw4NAtiPTxt5yacTA3CQmU8lRFQhBXGT4pB3VP7IYSLPulQLYhgQgSlo0bJSwvJs a+wJacyidqVn7AM3viamyvrKIsTwhbDX8QJmzAJenMwmDJVnPVRCj9qDDg2bXggS7zYV C7jc364J0zJMwFXPRxbgJDHrtka4eqeKQRmEx3796S0b5UuWl39O9FYsR0tTACjLBO/G 2duELfu2keuejI+ErNjRwBMQkg6SOQaqZsgeecAejXGhN0mwumucFIvuI4sA4vwTZ9+p pDbfEngXNDYsgXKRb0OtLLvoMksZ0b1NzBVBM9ZhWaZi7t72t9aOM4bKBIL67y4krJ6s N5aw== X-Forwarded-Encrypted: i=1; AFNElJ9d/sYx5IOdn/vgL5SczyZiNXHVySx22U+L0plqp6cvp3ZZbVcEo8TcMjYNEXOuveCAGxmeD9NRxQbZLVU=@vger.kernel.org X-Gm-Message-State: AOJu0YxQisX7hlTl00e9vD/4JOOypIUuIisyBBPiVLDgNS0rf05RIPx4 vLB2UwKgOjqy0jpuJA5P5it9CCI5KyFN8KV30peXUYsx8FmPKaMyjzBikPkeP138dgcqkFIZ/Tz l6xutTT+81hEwOJe+NPBfm2gd8Bx95Kygv2bCgFp6l5PpN3A7H6zfZ2lhNShZv5u8In7gV3jPv8 ohIbHAra5r7v8LrSPcl6vV9iTNSqx4QAPTTim7J399qZwR3QntfmrcQ9hCSS5LK835pCauJBB/h Eu0bOggkf0p6xMBYz4G44A= X-Gm-Gg: Acq92OFXIqmshnmYZdU4N4BXAEDKaSjF9cz14oHFC1XsZJj7bFHMMcFT7sadtr5D2Ay Ybd6NpYVxENPYtQjzYW56daz6uTojxi5vlocOrWnRZqhA0HHHotTS2a/dhjb6RML6FPJ3yUFa9w Q8R4dN9Th/hG5aY5kHIILKqDD4KsZK24jxQNyhzI/BfCR3jdiiWzZ0972ju7buZDTJmJql3FOMx 0K0EufnQRfGCFLSi/TPz4HZugq/ACAE78bpsq6hzbbbakcEgj9pjPBpjJnEDhY9GvjNC/NkOmkB Qb/YrPmlQpNB0Qo40JIN2eHO7gD6ib/OKyzR4zNPXZfcaA5i1eht1+gVodLoWupSIhuP5vbhZxy fw4aJGs/ABwIi+/im8D1JsHaApgRq1EdKQv6CM/r17ycMQZp8oj4SnzcgeH3Fbu90BbB9Uly0DE 3Hi3cYkf1RWZtjjOmL37algUFAfdlUDHdC82yRsb6Z6loWoYT6loSSbuD55Q== X-Received: by 2002:a17:903:3bad:b0:2b2:4f56:d571 with SMTP id d9443c01a7336-2ba7f20941amr46776955ad.4.1778169094674; Thu, 07 May 2026 08:51:34 -0700 (PDT) Received: from smtp-us-east1-p01-i01-si01.dlp.protect.broadcom.com (address-144-49-247-21.dlp.protect.broadcom.com. [144.49.247.21]) by smtp-relay.gmail.com with ESMTPS id d9443c01a7336-2bae750ddc8sm83715ad.44.2026.05.07.08.51.34 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 07 May 2026 08:51:34 -0700 (PDT) X-Relaying-Domain: broadcom.com X-CFilter-Loop: Reflected Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-8eb6880430dso28898885a.2 for ; Thu, 07 May 2026 08:51:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1778169093; x=1778773893; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=Ax1Aa73Yhe1dRK53NtIJp2y9KXXpNOfAjqoEk54yGok=; b=gxruH3tk/6ZLQp3HaN3RH6W/SfXEH8kK8jNBbUMJtKVjNqLhJI7V30n1needsmEKWv ghMeZ5dxY4lGadYDV8TEnsqIK6SyY4l9T7fjqNWC/AMmJQRuwhGIMD8viTMXCvjj1Lfx K2rNAfTQvTZh3A3mz9i4h7tLywlbB8oOq7VtI= X-Forwarded-Encrypted: i=1; AFNElJ+LzRb8siLn5yPubQeTZ0bNqfneZ+Gnx1XOCHe+eT6CYVVtqlRcIheiTP9OAjg1UyuUfo9PKA171QsiArc=@vger.kernel.org X-Received: by 2002:a05:620a:1726:b0:8d7:ed38:8189 with SMTP id af79cd13be357-90517dc628dmr724173385a.0.1778169093322; Thu, 07 May 2026 08:51:33 -0700 (PDT) X-Received: by 2002:a05:620a:1726:b0:8d7:ed38:8189 with SMTP id af79cd13be357-90517dc628dmr724167785a.0.1778169092652; Thu, 07 May 2026 08:51:32 -0700 (PDT) Received: from photon-d7fac424c0d3 ([192.19.161.250]) by smtp.gmail.com with ESMTPSA id af79cd13be357-90642b76d39sm240711885a.2.2026.05.07.08.51.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 May 2026 08:51:32 -0700 (PDT) From: Ankit Jain To: edumazet@google.com, netdev@vger.kernel.org Cc: kuba@kernel.org, davem@davemloft.net, pabeni@redhat.com, ncardwell@google.com, kuniyu@google.com, horms@kernel.org, shuah@kernel.org, quic_subashab@quicinc.com, quic_stranche@quicinc.com, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, karen.badiryan@broadcom.com, ajay.kaher@broadcom.com, alexey.makhalov@broadcom.com, vamsi-krishna.brahmajosyula@broadcom.com, yin.ding@broadcom.com, tapas.kundu@broadcom.com, Ankit Jain Subject: [PATCH net v3 0/2] tcp: protect locked SO_RCVBUF from Silly Window Syndrome Date: Thu, 7 May 2026 15:48:04 +0000 Message-ID: <20260507154806.18635-1-ankit-aj.jain@broadcom.com> X-Mailer: git-send-email 2.53.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-DetectorID-Processed: b00c1d49-9d2e-4205-b15f-d015386d3d5e This patch series fixes Silly Window Syndrome (SWS) for sockets using locked SO_RCVBUF. When applications like Tomcat lock SO_RCVBUF, receiving small packets causes the memory truesize penalty to drop the scaling_ratio to 1. This shrinks the internal window clamp and leads to 504 Gateway Timeouts. Patch 1 bypasses this penalty for locked sockets, except for GRO packets. Patch 2 adds a packetdrill test to validate this fix. Link to v1: https://lore.kernel.org/all/20260427152756.1205-1-ankit-aj.jain@broadcom.com/ Link to v2: https://lore.kernel.org/all/20260504144945.13477-1-ankit-aj.jain@broadcom.com/ v2 -> v3: - Changed GRO detection from checking tp->advmss to skb->len > len based on Eric Dumazet's suggestion. This correctly detects GRO packets even if they contain tiny segments. - Updated packetdrill script. Removed the ad-hoc mss 48 configuration. It now uses a standard 1460 MSS and sends varying packet sizes (600, 700, 800 bytes) to naturally trigger the scaling_ratio recalculation. Testing: - Verified fix in a live Java/Tomcat environment (504 timeouts resolved). - Passed the newly added packetdrill test demonstrating the clamp bypass. - Passed upstream regression tests: tcp_rcv_neg_window.pkt, tcp_rcv_wnd_shrink_allowed.pkt, tcp_rcv_wnd_shrink_nomem.pkt, tcp_rcv_zero_wnd_fin.pkt, and tcp_rcv_big_endseq.pkt Ankit Jain (2): tcp: protect locked SO_RCVBUF from Silly Window Syndrome selftests/net: add packetdrill test for locked SO_RCVBUF SWS net/ipv4/tcp_input.c | 7 ++++- .../net/packetdrill/tcp_locked_rcvbuf_sws.pkt | 29 +++++++++++++++++++ 2 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 tools/testing/selftests/net/packetdrill/tcp_locked_rcvbuf_sws.pkt -- 2.53.0