From nobody Thu Oct 29 06:03:19 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 4jFYYz3bYmz6xrWq for ; Thu, 29 Oct 2026 06:03:19 +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) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 4jFYYz1TN0z4sR5 for ; Thu, 29 Oct 2026 06:03:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1793253799; 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=ybHpXbUZrwqQjjkm8qH/jQo+3+RNWZKRUbHCCRLnGKs=; b=EGB+AKFCatodVRs36+IjTJJLYxQU7c2lG6lpOvsS/wPwECTDOxAe/5wndIDnHw8LeN8FG3 d/9MVxrSmAQLQSnqcJpxz/qTtkb6lwJb1OaLoP7+qgprS1Cs3jyb3tsQhgaedp4wUcnZTg fSxCIiE2E0SDJpryX89koKZDgrMISasXK/kLwXx77a9wCOJQIWGvnj0Dq8GvysYdmCwnpf U0XO3O5zbqRX/3lGRxJCPmccZ81f2IMHzyQFvBRQIEDWD82MKY48mpnolvyswdWU3yfiOu Ru9vTNuTv9h/z/WnENzASJflDvKvqwJLygvWvjS+v3glWlTgwT0UGIuvrmr0Mg== ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1793253799; b=HdOfN9WsLds/SJnbsdwtcjr61hiVUOw1YY3k9YobDhs/ZQjOHF4dfZInKUBQBS4wTl3u+Q YCx90LD6yLRD1aSYQFffcFFQB9PGa3D3tx341FUZKRCyXXsUbOEqePxnonRh/uYtjCXh4K wqkyU+NNhQY74SYSeYi9wXBy5bQpWM12UNUl5lYVDMxV/cZugz/sXI5keGEfA0OP8Nufyl 6dfGPqzJ9V530QLEe7LteRLlSliKL2ILYxUUB5pyVnaGMWDsYGak5xC3fGtcah2yS1pjOJ pEENlxfAAWov+pRUnpY03rzjT/qN7AhldHPCgxLYG33UrogAHRWBPivzYcMY1Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1793253799; 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=ybHpXbUZrwqQjjkm8qH/jQo+3+RNWZKRUbHCCRLnGKs=; b=ocgHSar5KMtitE8CkbRTXyhqVS44HJofI2Ke9Y5VHTEWO0LYMHw68L+dY98s35RpXzz5ix CGm9AaLsjHKm0MDXpaIulNiSwxK36mzJQ/6WQbWy6TeHG9VGa+ZVatmGswk42qBpgx2Btz MzdhKuMuQL0/tGcdcULG3gFCPBUQwzIZcRqhCW/uNgP4YuzmHIFXyS3TeebP7ILaDU5Hqr Gc5ssAExNCnFy53kpFFoeaBRcSeISeMLdomkbzJCYyzY8RWg2w3Ik0xpPT2ef0y4QN/kGm s2m7+xtSeEoTo2KOGmYwVf6PVUfrdz0tIp1Oh89xppWMUVZ9kZDe97mAVmceyQ== 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 4jFYYz16szzQsn for ; Thu, 29 Oct 2026 06:03:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 393dc by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 29 Oct 2026 06:03:19 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kevin Bowling Subject: git: 710c7f7db62d - stable/15 - iflib: Clear simple-TX quiescence before publishing admission List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org List-Id: Commits to the stable branches of the FreeBSD src repository 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: 710c7f7db62d51b36b9b1faddd5f33ea1de3fdda Auto-Submitted: auto-generated Date: Thu, 29 Oct 2026 06:03:19 +0000 Message-Id: <6ae2e1a7.393dc.6d0b75c@gitrepo.freebsd.org> The branch stable/15 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=710c7f7db62d51b36b9b1faddd5f33ea1de3fdda commit 710c7f7db62d51b36b9b1faddd5f33ea1de3fdda Author: Kevin Bowling AuthorDate: 2026-09-15 02:20:08 +0000 Commit: Kevin Bowling CommitDate: 2026-10-29 05:38:10 +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 (cherry picked from commit 7f8feee5ab922e6645f4061e9ca29109411aadef) --- 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 5e3bcd2bbb78..37c7870fb45d 100644 --- a/sys/net/iflib.c +++ b/sys/net/iflib.c @@ -2847,19 +2847,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);