From nobody Sat Sep 05 00:30:08 2026 X-Original-To: dev-commits-src-branches@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 4hcDkT05Sfz6qYyJ for ; Sat, 05 Sep 2026 00:30:09 +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 "YR2" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4hcDkS52zpz41KK for ; Sat, 05 Sep 2026 00:30:08 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1788568208; 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=YbjwCsxuZ7fIz7yzdlrwSUk8gn2CmkvcMpvUPqFOeVg=; b=DBxHR4GcVEUhbfYXhrSOB+fNODgRAeJa178YBt+s7HQtN3uireOYvP7VSDyHGPbM2KtPzP QJUCp+VvfCKlDFHOzxcUNPrjZwLqkMWsoS14KYUW/TtS2OOuE8XaNJ/sllOUzvZ/7G+DYp i9iYDk8mfuEw/i4DdVCVYWD6a/vr7WLe18oTcfw+g+9G/YgPkTt/lcKN4zidUc2Y1bFbAO OG26zFIn5yBRfXLyvygkAtzzahVYUGcN/p0Vjx2XgpnxHWqn/x7j3X1fkDhskD+nx6d+Rn yo53PNWfI4uUUFb4bsO73mEzu/tjyuFY7RIs9Rkg9dyYzVF3Ulg+w/n+sI/8vA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1788568208; a=rsa-sha256; cv=none; b=DKzjuLB+99U0hq5VpXVhx7CGs81bZWchjIyKunbiuCyyMcrqbQxzo8/NB16hxsCJCX5kne 4AtVZMbyXbkbw2703eujRosXeBYxgDUQuwuxXv5g9D4+6xTl8YMysMlzws3/Zg0YI9tqHx 2QVO59Tn7TVf1p3Sh0JUTk7JSlqZyP5ug7CgPc6jpyAGg+kH4grWYATNDT9HyYwo2Q3o/i VElQ9LPjaQIbiIyFAQ0BdBrt991nbe4GlFxEgpwdtJ32gW0zRjijqN28DC3lnAhysuh4gk xGSrsbEicX3lSJcMt3mk9KSTsM39oBD32qH5ZvaMnwWF2n0Uc2Df7aEUV5PPMQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1788568208; 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=YbjwCsxuZ7fIz7yzdlrwSUk8gn2CmkvcMpvUPqFOeVg=; b=rkTBe/GY+kztjBx+DSv/t3/vdh/98WQ+ncwmX4dPyQ+DvTXP2XUE8W2Y6+AS74Lw4vsDVu y/LvvGzaFpCpoOcnYODn/NFfT5zkV8N/qIx8yXxmRsUFlRsEY3cL3KWxaeLdHoZzTsGMwb 4YL3rvE3V/RxSToBwnPUhqYDyOTbW5q893GnMw8q8yqWZ4Xs1/su+C0H75Wc1I8P3KK2NI lkOLi22zVzyt/eD7Y2DjMmAsDqKJiXgcZe4S8bjcx8MWeTtvzfv973CJ8IoYSc6NwE0D5s YEYLfdACBB2m6uRtRMHsOHGRPDjgDRb7fUR0qY+j5JPnO9GPpZWDjOAZplJwZg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hcDkS34JLz7BB for ; Sat, 05 Sep 2026 00:30:08 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1e5f0 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Sat, 05 Sep 2026 00:30:08 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kevin Bowling Subject: git: 0b94a7648ff9 - stable/15 - e1000: Limit the TSO sentinel to lem(4) controllers List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 0b94a7648ff989095ee29e1ca8031b05b27f2d15 Auto-Submitted: auto-generated Date: Sat, 05 Sep 2026 00:30:08 +0000 Message-Id: <6a9b6290.1e5f0.2007a492@gitrepo.freebsd.org> The branch stable/15 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=0b94a7648ff989095ee29e1ca8031b05b27f2d15 commit 0b94a7648ff989095ee29e1ca8031b05b27f2d15 Author: Kevin Bowling AuthorDate: 2026-08-22 01:24:28 +0000 Commit: Kevin Bowling CommitDate: 2026-09-05 00:29:29 +0000 e1000: Limit the TSO sentinel to lem(4) controllers The TSO workaround splits the final DMA segment to create a four byte sentinel descriptor. Intel documents the premature descriptor writeback erratum and this workaround in the 82540EP and 82545GM specification updates (erratum 3) and the 82546GB specification update (erratum 1). Limit the workaround and its preceding TSO state to the legacy PCI and PCI-X controllers so PCIe controllers retain their natural descriptor layout using one fewer descriptor per TSO packet, no split of the final segment, and one less four byte DMA. Sponsored by: BBOX.io (cherry picked from commit 2a7af8ebcf90af83f01f9523b25bfc6e58c7b809) --- sys/dev/e1000/em_txrx.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/sys/dev/e1000/em_txrx.c b/sys/dev/e1000/em_txrx.c index 754f1a139065..a4f258e9d09b 100644 --- a/sys/dev/e1000/em_txrx.c +++ b/sys/dev/e1000/em_txrx.c @@ -211,7 +211,11 @@ em_tso_setup(struct e1000_softc *sc, if_pkt_info_t pi, uint32_t *txd_upper, TXD->cmd_and_length = htole32(cmd_type_len | (pi->ipi_len - hdr_len)); /* Total len */ - txr->tx_tso = true; + /* + * 82540EP and 82545GM erratum 3 and 82546GB erratum 1 require + * a second descriptor for the final four bytes of an LSO packet. + */ + txr->tx_tso = sc->hw.mac.type < e1000_82571; if (++cur == scctx->isc_ntxd[0]) { cur = 0; @@ -377,7 +381,7 @@ em_isc_txd_encap(void *arg, if_pkt_info_t pi) /* Do hardware assists */ if (do_tso) { i = em_tso_setup(sc, pi, &txd_upper, &txd_lower); - tso_desc = true; + tso_desc = txr->tx_tso; } else if (csum_flags & EM_CSUM_OFFLOAD) { i = em_transmit_checksum_setup(sc, pi, &txd_upper, &txd_lower);