From nobody Mon Aug 24 00:53:24 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 4hSsps0Hhwz6q285 for ; Mon, 24 Aug 2026 00:53:25 +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 4hSspr6SRxz3vD9 for ; Mon, 24 Aug 2026 00:53:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1787532804; 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=VN9gWX9qG+ncpL8w15/iYRBGtjjW+2NBS5XqB7DDB0o=; b=RClDg8N1md5kG08nI5ewBLBgQwL1qOW7GobZ/8WpNiyL/qHRTHyOr5XLKTDVpa6QCLS3oy Mg84f+k5+Gmj4g1/SAC3TAUmPYJQ4OnAacdgZhk2N+6ZORDgCVN+c60JsC8Kk/6acGAFgE URpc/amORrMTpED1DMpd81fH4u+Z4P69LpT+K7QZCYWoitms+lV1UDZQqB9DtC/FjmaNjd CaNdAoJMEGMQYlY8XUJs9rpZXMSKNKiYO/Ownb9wA+bidA5RyzhzkAi9NL0kc8cVUP42ps m9llBnU9+gRYf1Vnhea/niRDoAGhiZog/WumW1vf7OuACi8C46iUSBWXeg23sg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1787532804; a=rsa-sha256; cv=none; b=rm39WhEYE6UeAGOCKA72OYowJWWer8762Xq7V4BNeEX6ZGgv/mTAq+HDDupqN87lxFKFIB JqfvZmCn2Wfs23Ohlxdq1lyQTIFp15PnxjNCNAQYDzW0EFaPCUIzkCSS4OVQ6zhJBR8twH Kxm4DNnlHuGIaN6fW+1Z+I8tI9DKDcaXZqDI0V31mohv2g2ia+Se+4VspXc0FStxGK8QfO CAuqqGCNo47iUHbwgjkbJ2WgBTxGQK5bCmOkj7Ss3EQqfU6Fq8yjkEP0jDQO0m48OLHrfQ fX0yy1lmFGwCDNavDGH1Vf/a1fZ+QGfyv7lM3I680tfFFRS3KL/ftad8MDvFYQ== 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=1787532804; 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=VN9gWX9qG+ncpL8w15/iYRBGtjjW+2NBS5XqB7DDB0o=; b=EE8epQjIZuEX4ZG1qEkzOFXAVE0y5urS516NwoTCyZDXrS4ltr/0Di+FClG/tb3ns4yllq 1Gu2DTq2VXuQBG3ynZem8NemzDTAFB6nFsEoPbToxHQnPbQiQiWm/uC5V953YI9iA91SyF 3sdj7i4JUvozDTSdWtJSdHTr6LkPYheHUEPmYAHIA7DFGou7WR54AHqmro1hXw0mAiStWV ZAeZHsFFMwKbrBYOddjr1mWHJfrLhoqWWx4kTM//3vuWjBKW8DI0S/PUemM4X5kv2yeevL fbL4R0lPGy25zWbEGnXPyj7cjQRHleZsBVJx4DrP97B+sB+cfoHpkzdNp3TSNQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hSspr5GftzjLB for ; Mon, 24 Aug 2026 00:53:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 321df by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 24 Aug 2026 00:53:24 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kevin Bowling Subject: git: 7c79970bb8e6 - stable/15 - ixgbe: Enable PF RSS across queues with SR-IOV 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: 7c79970bb8e61e38ec5cc3c688abd6154e57be04 Auto-Submitted: auto-generated Date: Mon, 24 Aug 2026 00:53:24 +0000 Message-Id: <6a8b9604.321df.231491ce@gitrepo.freebsd.org> The branch stable/15 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=7c79970bb8e61e38ec5cc3c688abd6154e57be04 commit 7c79970bb8e61e38ec5cc3c688abd6154e57be04 Author: Kevin Bowling AuthorDate: 2026-08-09 11:34:58 +0000 Commit: Kevin Bowling CommitDate: 2026-08-24 00:43:53 +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. (cherry picked from commit 49f9143d9a37a4646c9f4ddac53b97dde04e3fa3) --- 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 3aaee0905dad..b77d48569d88 100644 --- a/sys/dev/ixgbe/if_ix.c +++ b/sys/dev/ixgbe/if_ix.c @@ -847,7 +847,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);