From nobody Mon Aug 10 16:33:21 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 4hJgKt2mgVz6p2D4 for ; Mon, 10 Aug 2026 16:33:22 +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 "YR1" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4hJgKt12d2z3wwX for ; Mon, 10 Aug 2026 16:33:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1786379602; 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=/KEmOrXijnL0yK23awGK9L6TwYC8NTjbyTq5gz1RHmc=; b=Fo3JKM2PvtVUwtNrwbCXTciIqeJANaBahdJb0SRB3r6I+3DY3/VpyLi9VNzeEO4qwWfO9y ai6RkQluV1w1mphSnRvP8Jw8tuDqSJh9YMFCXE8Pj0j3Ya8leUJmTgPKC6aUAs8IAMydCc t/+HchznC/T0tpEi9R05NopYtZpZnoWeEqIz5jqxuKBLq8s48jfrtw7UzBY0Go70gpGq9S bPmOqT9uaTVmo2PboPUUx+rZQxX+kSlzzD1Z4Ro8QZ7aKMtLA4iupoC3Crw90d2e1Gf9a9 TLqNpMC4z0KcQ1/sW4kAczWom+sCMJPoq/NvfZ6MIpSodLQjvtY/w8pWTqU0NA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1786379602; a=rsa-sha256; cv=none; b=ZDdWOY4L0gvMbFFb9bog07MRE1owXIOxwOl63SsY7m9NIz33g6WD9a33b0YyvK2TzkUQNt rzcrVDKAZzbjTtzJoaLKsimn6/WWpy7D4dokoHQtdkC7S4N3YmXpoD19TNd5bb3TSpLjnb QcwhbY1Jzp43yQ762x5Dww0/VYLKaRgWS5n6v3TdHjT7g38hhfxqeXNH/BJ/FL8Z2m4qld faBiP8m14+b8eQIlisD/9Fb8Xeh+IPaqLxVWobPvV02C2VfmGPvcQdvOUrdjil9P3ddvgW NQPiCnmd5dN+rhE0qovkeO/g9HiomlQhfwzfvrB2i1HKtG7nvY+hrQHF8LVcFg== 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=1786379602; 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=/KEmOrXijnL0yK23awGK9L6TwYC8NTjbyTq5gz1RHmc=; b=vP8oV3fJftgPW3PdB/yr3g6Id66zI/foglJuBkcaGZj+PczgB6tuuFZcYqk2ZIzKZO8kG5 jpQ2s8iEGhLPVFoOoGtplooD7RVm/r7JEJUFrsLcc+SyVxJMHD9MzzFzqdac5Nq4lIjXkB rKQZHU02o9AzAiGr/PgMVbnsoAtYF3blBAY/SZMCQcPTGRUCyTDzqqL7FqDoaXv24jEd9V jhfmN8Qsrb9lvORorgIlmm6qj5wLNQrSuBhsPqFF/eUSYLUAjLCzTIC+lli7G+erSIfi3i okfup4JgTRaLJVh5Qm6+nKkFhUuEtLFeAM/ebi3FGpvTwWoGpkymDjw0Rh73Pw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hJgKt016Tz2Xn for ; Mon, 10 Aug 2026 16:33:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3989f by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 10 Aug 2026 16:33:21 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kevin Bowling Subject: git: 660099c985e8 - main - ixgbe: Restore missed packet accounting 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: 660099c985e8bfc931b01398715441c90cf0d4db Auto-Submitted: auto-generated Date: Mon, 10 Aug 2026 16:33:21 +0000 Message-Id: <6a79fd51.3989f.16745dc0@gitrepo.freebsd.org> The branch main has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=660099c985e8bfc931b01398715441c90cf0d4db commit 660099c985e8bfc931b01398715441c90cf0d4db Author: Kevin Bowling AuthorDate: 2026-08-10 15:09:29 +0000 Commit: Kevin Bowling CommitDate: 2026-08-10 16:33:12 +0000 ixgbe: Restore missed packet accounting missed_rx and total_missed_rx are never populated. As a result, the GPRC erratum workaround does not remove missed packets and iqdrops always remains zero. The rx_missed_packets sysctl and input-error total also expose only MPC bank zero. Read and accumulate all eight MPC banks. Use the interval total to correct GPRC and the cumulative total for iqdrops, input errors, and the aggregate sysctl. This matches DPDK's coverage of the hardware banks. MFC after: 2 weeks --- sys/dev/ixgbe/if_ix.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/sys/dev/ixgbe/if_ix.c b/sys/dev/ixgbe/if_ix.c index 252ae352829e..9a998b03dbd7 100644 --- a/sys/dev/ixgbe/if_ix.c +++ b/sys/dev/ixgbe/if_ix.c @@ -1923,7 +1923,7 @@ ixgbe_update_stats_counters(struct ixgbe_softc *sc) { struct ixgbe_hw *hw = &sc->hw; struct ixgbe_hw_stats *stats = &sc->stats.pf; - u32 missed_rx = 0, bprc, lxon, lxoff; + u32 missed_rx = 0, mpc, bprc, lxon, lxoff; u32 lxoffrxc; u64 total_missed_rx = 0, total; @@ -1931,7 +1931,13 @@ ixgbe_update_stats_counters(struct ixgbe_softc *sc) stats->illerrc += IXGBE_READ_REG(hw, IXGBE_ILLERRC); stats->errbc += IXGBE_READ_REG(hw, IXGBE_ERRBC); stats->mspdc += IXGBE_READ_REG(hw, IXGBE_MSPDC); - stats->mpc[0] += IXGBE_READ_REG(hw, IXGBE_MPC(0)); + for (int i = 0; i < nitems(stats->mpc); i++) { + mpc = IXGBE_READ_REG(hw, IXGBE_MPC(i)); + missed_rx += mpc; + stats->mpc[i] += mpc; + total_missed_rx += stats->mpc[i]; + } + stats->mpctotal = total_missed_rx; for (int i = 0; i < 16; i++) { stats->qprc[i] += IXGBE_READ_REG(hw, IXGBE_QPRC(i)); @@ -2053,7 +2059,7 @@ ixgbe_update_stats_counters(struct ixgbe_softc *sc) * - jabber count. */ IXGBE_SET_IERRORS(sc, stats->crcerrs + stats->illerrc + - stats->mpc[0] + stats->rlec + stats->ruc + stats->rfc + + stats->mpctotal + stats->rlec + stats->ruc + stats->rfc + stats->roc + stats->rjc); } /* ixgbe_update_stats_counters */ @@ -2164,7 +2170,7 @@ ixgbe_add_hw_stats(struct ixgbe_softc *sc) SYSCTL_ADD_UQUAD(ctx, stat_list, OID_AUTO, "rec_len_errs", CTLFLAG_RD, &stats->rlec, "Receive Length Errors"); SYSCTL_ADD_UQUAD(ctx, stat_list, OID_AUTO, "rx_missed_packets", - CTLFLAG_RD, &stats->mpc[0], "RX Missed Packet Count"); + CTLFLAG_RD, &stats->mpctotal, "RX Missed Packet Count"); /* Flow Control stats */ SYSCTL_ADD_UQUAD(ctx, stat_list, OID_AUTO, "xon_txd",