From nobody Wed May 14 23:54:14 2025 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 4ZyVYf4FFbz5w1WK; Wed, 14 May 2025 23:54:14 +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 "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4ZyVYf3Cxqz3kNc; Wed, 14 May 2025 23:54:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747266854; 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=8zm+JIW9/5txA8xUcMNTYXohusc/pC0TkJvG7pdS5ak=; b=NbVQi04aBJQYM09HtxpJowF6gicBBMDIPgR03nxlwNG1gMP8+/PNzOwPq/BA+60Iy/1v+F Jm3GZzdxqzTJVuhU4kOlmqXgVpRgYQi+1evCrJ8tBni5ypv6Z8j7zy8u2TSOw4qQlw3uBN kSq41yHilx6p6pWvNFjWKt6kyosu9gtWhaWXbxZkcNziTAcjirSYfVqKjLXOimODdqKNKi /QrOb5OfeuO7Clw4aRAS/zGIWHQxA/BuUFNbwjQh+oGtDvnGQ1s6FGAwVXMrM3TCjdsHyI A5H5fCR+D/f1t5nqul+N8zkE2ASWxGeDy6vYHuI38GalZGJ6cj9Yc8oHewq7Xw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747266854; 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=8zm+JIW9/5txA8xUcMNTYXohusc/pC0TkJvG7pdS5ak=; b=dbHbt+hrbXrDqNFUVK7yrmi6CTwk2o9cYUYAvRzMqFl12o+Qeqwl5WLue8zZsjrEoBNE2i yv5JQw4Wj15LYFi0kaDdAX1xhu0UxWuqOFR0zf6ofsp0W4mf3VvV+gQ71yNSY7QhtbQI9z CX++5Ot7yyIUEyXOqUxhB0XoXjgYIbqzfswg9XtrQV3+NFW5zeIaRINzjp6Awpp/+7lOwn 5yBOkXJEAVHseyc07BCyjxWim0kZ2G/OrMKQtWmFkPM+VshppRp5UAdvQKEY2Cfiz1ZL1x EUj+PwIskqWuPVJp9/h29S3Lv6vCukSxtcQTEEEYvz9M3aMdxOe6HxlwB0dcAg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747266854; a=rsa-sha256; cv=none; b=egd/cdr27nkKO5y9ByIoc3MquBatMHETPPSwrz9jZhzhyZFGlfQlu9jxUxzIIjYbRbMUUG qRrWSUpkSh/r20Nhb2XI61bhfHRTV9u1hSQ+F091tfwmHHQMCD6XC2GMP8DM4Jqxsj/lHQ vFWYGgTrrZgcAvwjj43MUQbs1H/IuBjnI5EYMI0ST6741OrsrTvusGo9H4UKVI2dB3DVJo 7nO+C39MKgGUhMe4re2PfZMqkDXsRdW577aYzNlVDDzzvGEMPRajiTivuvA2wTOMCpHkCR PfdJYfxyczhzWnd6IfHiI/hHV/UQlzmcEd8F9UIUaWofsDlDlibFoX6H/ZasLg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none 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 4ZyVYf2mWPztnf; Wed, 14 May 2025 23:54:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54ENsEOQ026557; Wed, 14 May 2025 23:54:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54ENsE7U026554; Wed, 14 May 2025 23:54:14 GMT (envelope-from git) Date: Wed, 14 May 2025 23:54:14 GMT Message-Id: <202505142354.54ENsE7U026554@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Colin Percival Subject: git: 9a685c09f06a - main - EC2: Remove old broken_txfifo workaround 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: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: cperciva X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 9a685c09f06a55b18589d75f9307563d84a17fa9 Auto-Submitted: auto-generated The branch main has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=9a685c09f06a55b18589d75f9307563d84a17fa9 commit 9a685c09f06a55b18589d75f9307563d84a17fa9 Author: Colin Percival AuthorDate: 2025-05-14 23:36:26 +0000 Commit: Colin Percival CommitDate: 2025-05-14 23:54:04 +0000 EC2: Remove old broken_txfifo workaround Early versions of Xen, including those used in the early days of EC2, had a bug in their UART emulation whereby the TX FIFO wouldn't send the expected interrupt when emptying; as a result, FreeBSD would write 16 characters to the serial console and then stop because we thought the FIFO was forever full. In 2013 (1c60b24baa50) I added a loader tunable "hw.broken_txfifo" which spinwaits for the FIFO TX rather than relying on the interrupt, and enabled this in loader.conf in EC2 images. A decade later, this workaround is almost certainly no longer needed in EC2 -- most instances don't run Xen, and the bug was long since fixed in Xen anyway -- but we've been holding on to the workaround "just in case". Unfortunately, the spinwait behaviour is causing latency spikes and triggering warnings from the ena(4) driver. This commit removes the hw.broken_txfifo setting from loader.conf in EC2 images, but leaves the loader tunable and associated code, since it has been necessary in some other environments. (It seems that the TX FIFO missing-interrupts bug has been independently written at least three times!) MFC after: 1 minute Sponsored by: Amazon --- release/tools/ec2.conf | 5 ----- 1 file changed, 5 deletions(-) diff --git a/release/tools/ec2.conf b/release/tools/ec2.conf index d6cb85959183..ef7a603efea9 100644 --- a/release/tools/ec2.conf +++ b/release/tools/ec2.conf @@ -65,11 +65,6 @@ ec2_common() { # screenshot") which was introduced in 2016. echo 'boot_multicons="YES"' >> ${DESTDIR}/boot/loader.conf - # Some older EC2 hardware used a version of Xen with a bug in its - # emulated serial port. It is not clear if EC2 still has any such - # nodes, but apply the workaround just in case. - echo 'hw.broken_txfifo="1"' >> ${DESTDIR}/boot/loader.conf - # Graviton 1 through Graviton 4 have a bug in their ACPI where they # mark the PL061's pins as needing to be configured in PullUp mode # (in fact the PL061 has no pullup/pulldown resistors). Graviton 1