From nobody Wed May 14 23:54:41 2025 X-Original-To: dev-commits-src-all@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 4ZyVZ94Zv3z5w14R; Wed, 14 May 2025 23:54:41 +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 4ZyVZ91jXvz3ky2; Wed, 14 May 2025 23:54:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747266881; 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=orTDashH0xb6akdtvYacY28Tpu8okJCldCQ0qkkx/OY=; b=vtLKZ9DbvzN+3FajZbjASxdhO7N9ADzVO1toznrlWAoWLcu+ju9/ankKvhBSY+F+DumxR4 IGhKWeaB2ugbN/3E4l+2nSob6SobUp2rV0Qi89kQ71ZRwoeJqJTXEp2/YPsjO3VnfRQG6b 5UyRctakZ/ASbfBJlzid6AVZRIdwR1tIaevPDqy+9qYhFy0Oe6ZrWIJ2MI7SDVbO/SGcF7 oN8FNjcbnylsEucvTJoOZ+QQnyCPe/uDNo7hWyg+myX27MybPrNwNp9u2GlWE9RjA5o49R KR0ZMKLyo+5OiGcfSDOdq3JLREsV31nN8c3fHna1hvB/j4BINFwMjumGZ0pnrQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747266881; 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=orTDashH0xb6akdtvYacY28Tpu8okJCldCQ0qkkx/OY=; b=UvYRIiDf0iZoh58ZyRLkvsm1CMqGjiIT+6MsSMfJiU7DGv35d7tkwTLPFZWd8bIpYWPshd Nae3bpQSJPbijePFEaEliR0hzPhQnkJIHTDYKdTQkah473pXSxqVS12LsfFF4GGxHxZRz9 SGYRzNByXUagKMGXwE3TkWtAVzOT1P5t5UCRZH4vMkfZJ0CshdQXkk8LYi48vbtvGKRc6e mHYTCcrxMp3iO4OuVjGRxlqSj32A9Q5X1/62jeHXnohYCJLmYhDPBRs3s4S4pBiAE3mkm+ vHrN2iDgEtbIAIHEzhPF2ILwfhUa4M8eibRI2D6oxxqzDyznH6IeqJTPkEAZAg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747266881; a=rsa-sha256; cv=none; b=ef+TD4kAnExiDlp/ZgXIll/MmwYxgIGD3Y6J/0lOxFmdD+c41mpvkDErJreqKmU1Hjzl7Y zx0uY+s5sfVJ6D/KAtdZpnF/C0M3lVQGCUrOggYGmTyVasWsOF7md0eYLdz8wsK6PJqZSr G5p6NvqF+3nyOEJSO4PSsvaBM5fCE0zd729tSZnnpvQ6HiiPGUF3eg7lGeiGxtsTVjp3WI qieRGH2AgBSTHxfthCnCAFUPNuIGlAnirttkhZ3vMwysjz1MiIlRYLGj7PJbKE+CGmM1mh hgDhfxxQoFZe5mLORiZ38cqoUvC8Vx50wonkmbDHFrk0oDe8K0XGmrLk4oW86w== 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 4ZyVZ91FLLztr4; Wed, 14 May 2025 23:54:41 +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 54ENsf3r026809; Wed, 14 May 2025 23:54:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54ENsfQ9026806; Wed, 14 May 2025 23:54:41 GMT (envelope-from git) Date: Wed, 14 May 2025 23:54:41 GMT Message-Id: <202505142354.54ENsfQ9026806@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Colin Percival Subject: git: eadda156a50d - stable/14 - EC2: Remove old broken_txfifo workaround List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@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/stable/14 X-Git-Reftype: branch X-Git-Commit: eadda156a50d3487ec1e6fc78f6cfe2df42448fa Auto-Submitted: auto-generated The branch stable/14 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=eadda156a50d3487ec1e6fc78f6cfe2df42448fa commit eadda156a50d3487ec1e6fc78f6cfe2df42448fa Author: Colin Percival AuthorDate: 2025-05-14 23:36:26 +0000 Commit: Colin Percival CommitDate: 2025-05-14 23:54:28 +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 (cherry picked from commit 9a685c09f06a55b18589d75f9307563d84a17fa9) --- release/tools/ec2.conf | 5 ----- 1 file changed, 5 deletions(-) diff --git a/release/tools/ec2.conf b/release/tools/ec2.conf index 1116faed4e9c..bac8bb0d0e67 100644 --- a/release/tools/ec2.conf +++ b/release/tools/ec2.conf @@ -58,11 +58,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