From nobody Tue Sep 15 19:49:31 2026 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 4hkszb752gz6shBY for ; Tue, 15 Sep 2026 19:49:31 +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 4hkszb5K4mz3GBk for ; Tue, 15 Sep 2026 19:49:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1789501771; 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=TFTxQjscXCK5wRPf3X+BETH4H7AcfN2dfNE+93Xh0DE=; b=xEQt0GP6tgIgCJgoBDOQ1VBLyx0SFmjrOujsdcWgeLXVHlqWDa87HQxMSpSZP0MDA5hpTL qlUtpEJZpEtkoPQCtbGKCBVhtNsgnkUvkFE1YYV6HJb9sigsHuVVSMrNLyZV/6uClHwcik /xA8wyGpZKP2OXqbu6EEEPSolFFWNcw55v2eDzFvOiVM1ldtH7B11G5OS8YaoVQSVtucPc HHNPhzEyyQ2hbEU/I5VADixM77oKeKrltYgfGrvMdN7eojhKQOHHhwdE+2BQIBeSxSjUsN gH2tscqtYQSQQafeFI1I7KR7s2ZC0aq5ot6W++q0pAXsp199W9Ngu4ZsdhcotA== ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1789501771; b=smTIHMY6jCE8Rj4nlpRyoY77AecSdIVNOXi9XrUXc17kEI8IV7nxuWtcQsTmSgcIh5bDGk vjGJs6rOcd8O8a1j5frZA9z0NmjjQphDibIuVTtBCUveyXEJc1DYRoCKJwFOC5tcGnfzKr 27sIM1uFeq7G+rldTnb2XctpMGdxu8XQrdGPczlni0uqJN1pRhLvVZdVtXAM3pd0Jebi6a TDawI1BialWk02fv7oZt81i35qcubu+5M55wU+SD/3zNhP8ExUcP9nlqL7zh5CNqFTGwtI 4Bh3M88GfKvFuXkq5ypwT7th/DfqxYzj5DU6LmCkAXxyOVXbEl2FE4No49PPwg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1789501771; 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=TFTxQjscXCK5wRPf3X+BETH4H7AcfN2dfNE+93Xh0DE=; b=V4ket0PSHTeQVUL0bnSawCC7/4KY6KCFxRtQqeqPo5MQG2XO3yQF0GtLVCtRx3Fjg4oVqP KhKGSIT+3BiqiTt4kKY5myuafKoxib81QH7NEP1igNRZfl1Lt8Uen6h/mU8O2HZkM7pBL7 t7EceYgDmwQmukjjjbQ2ZiIQjNwIpXftl1CbOKBbcHqIz4FFEYa3ica0QS+0PxjIGvEPqc kdQDOnZ49AZLis/wXgG9lU9gtAGoP552f5boQiDUTyGbdQN16VCvvnFssDrbDsVI7cADNo oqD0UcvzfxoEUVc6CgLvnhUS9oFVNi/Vz5GusSpB6G7+rvIynZL/YkY5WTZHXQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hkszb44Qxz1CTQ for ; Tue, 15 Sep 2026 19:49:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 30531 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 15 Sep 2026 19:49:31 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kevin Bowling Subject: git: 7f8feee5ab92 - main - iflib: Clear simple-TX quiescence before publishing admission 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 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/main X-Git-Reftype: branch X-Git-Commit: 7f8feee5ab922e6645f4061e9ca29109411aadef Auto-Submitted: auto-generated Date: Tue, 15 Sep 2026 19:49:31 +0000 Message-Id: <6aa9a14b.30531.fb8c0de@gitrepo.freebsd.org> The branch main has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=7f8feee5ab922e6645f4061e9ca29109411aadef commit 7f8feee5ab922e6645f4061e9ca29109411aadef Author: Kevin Bowling AuthorDate: 2026-09-15 02:20:08 +0000 Commit: Kevin Bowling CommitDate: 2026-09-15 19:48:20 +0000 iflib: Clear simple-TX quiescence before publishing admission Initialization publishes RUNNING and enables interrupts before clearing the simple-TX producer barrier. A transmitter admitted in that window still sees IFLIB_TXQ_QUIESCING and drops its packet with ENETDOWN. A TX completion task can likewise return without draining deferred packets. Clear the barrier on every TX queue after driver initialization and RX buffer setup succeed, before publishing admission. Keep failed init paths closed and retain the existing stop, interrupt and timer ordering. This changes only initialization; no work is added to the packet path. Reviewed by: iflib (gallatin) Sponsored by: BBOX.io Differential Revision: https://reviews.freebsd.org/D59690 --- sys/net/iflib.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/sys/net/iflib.c b/sys/net/iflib.c index f3f963e5ab0e..334160dbc850 100644 --- a/sys/net/iflib.c +++ b/sys/net/iflib.c @@ -2848,19 +2848,21 @@ iflib_init_locked(if_ctx_t ctx) } } } + /* Open every TX queue before publishing admission to transmitters. */ + if (ctx->ifc_sysctl_simple_tx) { + for (i = 0, txq = ctx->ifc_txqs; i < scctx->isc_ntxqsets; + i++, txq++) + atomic_clear_rel_int(&txq->ift_producers, + IFLIB_TXQ_QUIESCING); + } STATE_LOCK(ctx); iflib_set_running(ctx, true); STATE_UNLOCK(ctx); IFDI_INTR_ENABLE(ctx); txq = ctx->ifc_txqs; - for (i = 0; i < scctx->isc_ntxqsets; i++, txq++) { + for (i = 0; i < scctx->isc_ntxqsets; i++, txq++) callout_reset_on(&txq->ift_timer, iflib_timer_default, iflib_timer, txq, txq->ift_timer.c_cpu); - if (ctx->ifc_sysctl_simple_tx) { - atomic_clear_rel_int(&txq->ift_producers, - IFLIB_TXQ_QUIESCING); - } - } /* Re-enable txsync/rxsync. */ netmap_enable_all_rings(ifp);