From nobody Mon Aug 10 00:20:28 2026 X-Original-To: dev-commits-src-main@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 4hJFlK1cL0z6pLNv for ; Mon, 10 Aug 2026 00:20:29 +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 4hJFlK0HSRz3kPf for ; Mon, 10 Aug 2026 00:20:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1786321229; 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=r0m0x6wI6UvFJ6yW3ovo3ijzqtVFCKDn0/JYZEzYHGI=; b=S1bdbOddtbzROv8R2MvBcW9H+No9CyeQCrSbpXuesd4axgYw5Uijpoz7AuVNbbXq0OlNvN WdxJCu52egJe3pRnm6yghp0rXkIepXZe4Rmor2QihGpQW5bsQOJuwG4JR3LZgofJqrm0PY 83tq7tHOXvsLcTeHRF3+5gO3H6/8M8jDCCXfjqpDGH/8YDnPxTSBxVDY7Mribma/0DD/0t KRsUSSh9yfbdwCps6rb0Y9t7jlZ202kI5rv0sB9D0mm5mK7hJhPmhwiy2SPRcDe5qIXXfm q7tE2ZSMsMsJNnj7NFjrNG4RUXFqO1bO0Wm7CfKtnrMRwQX9PWbx5QfCOL7NWA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1786321229; a=rsa-sha256; cv=none; b=mkmyhBGRfodfUcaHhHm7iRKDs1D4wEahQegMVwtEJMuvmD5mg0YThuGQ+bM8fOHO+zKnUx 6ykD1mvBWvU854diih6tzyjBlw7ocM7jqF7mxho5hakYxtL1sahcz3wSupGKqHcQGLKArT P0ybdr1BvZRhAQ+A/P3JxG3BmSJerxn7Lpy9RNE5V6mRk2bQu3UAlEbQAWY8y7Nfqxx+Bb 7fFKwJu8tm1JQCN4Hpn1ZuggGVUYjtMMqoqtNQAk/X5dJyidykvOtoykHBxS58Pj8UELoc A8bT9KDNPwIytsG224QXlb1isUKfks9tWOTZz29j1mbXWdQ2YH4CPO0i5JnjMg== 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=1786321229; 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=r0m0x6wI6UvFJ6yW3ovo3ijzqtVFCKDn0/JYZEzYHGI=; b=mJ2uohADb14vuUOfnOQuPA7gaBrc7UB/4zSryhiDUcJvurWf17QyYKNNTJYfrykdaw9CAR y4Jh348U0EzCLl/N8Xee+laPQYBbSr0nCOHVD6YMRTsiiwxnrFbrf/aLr/NkbUr+w03FKc 3vBQqFFbQORf9HxEXG+LokYY+G0uehp0pYMGPRSU5rUQWbMqcsQJFic/Hrs/7CmInnPxyN 7ZKKLf0JluJLRBz7atidnqRX/AorXAHTM92U2ZQiv6FvESYc53Txhg/3gMlEAupUbjwnpR 5ZaZ414FE2n8PBe04n1QxBWPi+ZREfoV/YUywh+l8C9KrnORd0E3HIsIwFJ0/A== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hJFlJ5j2Tzlwc for ; Mon, 10 Aug 2026 00:20:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3def4 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 10 Aug 2026 00:20:28 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Kevin Bowling Subject: git: 49f9143d9a37 - main - ixgbe: Enable PF RSS across queues with SR-IOV List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@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: 49f9143d9a37a4646c9f4ddac53b97dde04e3fa3 Auto-Submitted: auto-generated Date: Mon, 10 Aug 2026 00:20:28 +0000 Message-Id: <6a79194c.3def4.577e1227@gitrepo.freebsd.org> The branch main has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=49f9143d9a37a4646c9f4ddac53b97dde04e3fa3 commit 49f9143d9a37a4646c9f4ddac53b97dde04e3fa3 Author: Kevin Bowling AuthorDate: 2026-08-09 11:34:58 +0000 Commit: Kevin Bowling CommitDate: 2026-08-10 00:19:28 +0000 ixgbe: Enable PF RSS across queues with SR-IOV PSRTYPE is indexed by pool in VMDq+RSS mode, and its RQPL field selects the number of receive queues available within the pool. The PF occupies the last pool, but the driver programmed pool zero and left the PF RQPL value at zero. As a result, all PF receive traffic was directed to its first queue while SR-IOV was enabled. Program PSRTYPE for the PF pool and encode its allocated receive queue count. MFC after: 2 weeks --- sys/dev/ixgbe/if_ix.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/sys/dev/ixgbe/if_ix.c b/sys/dev/ixgbe/if_ix.c index 2bdfc20df9bc..cd8acf6685a8 100644 --- a/sys/dev/ixgbe/if_ix.c +++ b/sys/dev/ixgbe/if_ix.c @@ -858,7 +858,21 @@ ixgbe_initialize_receive_units(if_ctx_t ctx) IXGBE_PSRTYPE_UDPHDR | IXGBE_PSRTYPE_IPV4HDR | IXGBE_PSRTYPE_IPV6HDR; - IXGBE_WRITE_REG(hw, IXGBE_PSRTYPE(0), psrtype); + + /* + * In VMDq+RSS mode PSRTYPE is per pool, and RQPL controls + * how many receive queues RSS may select within that pool. + * The PF occupies the last pool rather than pool zero. + */ +#ifdef PCI_IOV + if (sc->iov_mode != IXGBE_NO_VM) { + if (sc->num_rx_queues > 3) + psrtype |= 2u << IXGBE_PSRTYPE_RQPL_SHIFT; + else if (sc->num_rx_queues > 1) + psrtype |= 1u << IXGBE_PSRTYPE_RQPL_SHIFT; + } +#endif + IXGBE_WRITE_REG(hw, IXGBE_PSRTYPE(sc->pool), psrtype); } rxcsum = IXGBE_READ_REG(hw, IXGBE_RXCSUM);