From nobody Thu May 15 22:23:07 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 4Zz4V365bMz5x1tT; Thu, 15 May 2025 22:23:07 +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 4Zz4V345q1z3ngQ; Thu, 15 May 2025 22:23:07 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747347787; 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=5Db6I9U5Qn5EiQ/VLQgPnq1qjA3TcZe3yjtyaC3C368=; b=oseieELhFy0jGe9WpQHtgcGT96cOT5XabX9mRhMF4FZ1Fkv8QsBhyQp75VuiBypeGKhgsk ILjBMKqprhdo3PQjHZ5Z8GdolwRuSocB54TOcmSlDq7gIey9L4A4iSpwYLqEoNsSObORo+ 6sPKDnykm4GDemO9AnaOAtku2R7b2mzwUOukfHpII53vy06T4cELs1zhpAQKWAhJfaMt8y 0FJ7HW35PfKSvRSy4iq5IvSvf6I90+UWZk2wVYSLJVAEOayqYuneqqTJLHX/zXwEFm+0u7 dgOqp/FopQVw1ZWx6ENCqn+2vFX+Av4zCNmtXGZ7N06MSJW0U3Huc9jGnNJlaA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747347787; 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=5Db6I9U5Qn5EiQ/VLQgPnq1qjA3TcZe3yjtyaC3C368=; b=PCw/AVhVqx81T2UkkjHxoeuV+fv0sYelTyVwzMt1itCvbCcvkajGtudMHnA7W04WIJ3Qz6 lJQBEZHFSmDF6I3asBQI8lVgjbPXxkQ5/NFb0vBMmIeOnVJjfhqVI3VDcixrorJa69HKR8 WPQycG3pr5VG00wM+HKeB2eci+Ph31BO1UwrIkE1JRdZSp7XvIVF8nxj49hw9cT/AHP303 0A42eX0X9RnMvaCSIz/KKYbqhMFhOPVNvarCxuESGOUWmFrrrOwu5eKfQXw0Y1iil83DzI j+pHWCZ6zVc+KWBBkwZe4VfgsUNvEInzgWDcQuMhPVvugv2C6gV4YN+UWPD67g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747347787; a=rsa-sha256; cv=none; b=uIik293jW/4DPb9apU/B1DUpx/ENxsMRb5thu13GPhv49gWO4uzCCCTVQzrtAKYOjxxIyr GQVmTtrYeBSEvmXico4Y1CLqeBcXBwHc0y7AFP6CPqrk/p5bP+xS/MlGOmLzX17yId5CKs CwbMmQb2UMvV+XxlXje6gJlHpFDF6g9gm3yZeF5q380V+KyG40QjG/ey7FKExH3Lnp3y6n 0dI5/cgT0iPKpYT2rWIXTkGbvp9zzM47sRDmS4n1oB2N0wfzic65/DyaBh+bay6+EaOyPo J0R6SSCEIjz1pcTIcMi1xZmzin6tLNV78T5hjEl/1UbQLavOLeDBExakSxj28A== 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 4Zz4V32vzTzd9G; Thu, 15 May 2025 22:23:07 +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 54FMN7Bp059492; Thu, 15 May 2025 22:23:07 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54FMN7Zs059488; Thu, 15 May 2025 22:23:07 GMT (envelope-from git) Date: Thu, 15 May 2025 22:23:07 GMT Message-Id: <202505152223.54FMN7Zs059488@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: 29d6968fd36d - releng/14.3 - 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/releng/14.3 X-Git-Reftype: branch X-Git-Commit: 29d6968fd36d27b27f953d5c00f9763491b10734 Auto-Submitted: auto-generated The branch releng/14.3 has been updated by cperciva: URL: https://cgit.FreeBSD.org/src/commit/?id=29d6968fd36d27b27f953d5c00f9763491b10734 commit 29d6968fd36d27b27f953d5c00f9763491b10734 Author: Colin Percival AuthorDate: 2025-05-14 23:36:26 +0000 Commit: Colin Percival CommitDate: 2025-05-15 22:22:44 +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!) Approved by: re (cperciva) MFC after: 1 minute Sponsored by: Amazon (cherry picked from commit 9a685c09f06a55b18589d75f9307563d84a17fa9) (cherry picked from commit eadda156a50d3487ec1e6fc78f6cfe2df42448fa) --- 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