Skip to content

[rlc-10/6.12.0-211.39.1.el10_2] Multiple patches tested (4 commits) - #1497

Open
ciq-kernel-automation[bot] wants to merge 4 commits into
rlc-10/6.12.0-211.39.1.el10_2from
{shreeya_gce}_rlc-10/6.12.0-211.39.1.el10_2
Open

[rlc-10/6.12.0-211.39.1.el10_2] Multiple patches tested (4 commits)#1497
ciq-kernel-automation[bot] wants to merge 4 commits into
rlc-10/6.12.0-211.39.1.el10_2from
{shreeya_gce}_rlc-10/6.12.0-211.39.1.el10_2

Conversation

@ciq-kernel-automation

@ciq-kernel-automation ciq-kernel-automation Bot commented Jul 31, 2026

Copy link
Copy Markdown

Summary

This PR has been automatically created after successful completion of all CI stages.

Commit Message(s)

gve: move DQO rx buffer management related code to a new file

jira KERNEL-1217
commit-author Harshitha Ramamurthy <[email protected]>
commit 93c68f1275f9e21ccfed9ee292aedb11c3f6241b
gve: Update QPL page registration logic

jira KERNEL-1217
commit-author Matt Olson <[email protected]>
commit 07993df560917357610e0625a9a2e7531c3211fc
upstream-diff Conflicts from the gve_queue_config split and page_pool/
  netmem/XDP refactors not in RLC 10. Kept RLC 10 struct names (qcfg/
  qcfg_tx, no num_xdp_rings) and datapath (no page_pool/xsk); the
  gve_update_num_qpl_pages() body is applied verbatim except
  rx_alloc_cfg->qcfg_rx->num_queues -> ->qcfg->num_queues. buffer-mgmt
  and rx_dqo num_buf_states use cfg->pages_per_qpl / priv->rx_pages_per_qpl.
gve: Enable reading max ring size from the device in DQO-QPL mode

jira KERNEL-1217
commit-author Matt Olson <[email protected]>
commit a2f19184014f309165d2d4cfb41088b75c1121a4
gve: fix XDP allocation path in edge cases

jira KERNEL-1217
commit-author Joshua Washington <[email protected]>
commit de63ac44a527b6c626ba7adb54873d4d6bd8de23
upstream-diff Kept RLC 10's cfg->pages_per_qpl assignment in
  gve_tx_get_curr_alloc_cfg alongside this commit's num_rings change
  (which now derives num_xdp_queues locally rather than from the
  possibly-stale priv->num_xdp_queues). No other deviation.

Testing

[spatel_ciq_com@kernel-gve-test-1 ~]$ uname -r 
6.12.0-shreeya_rlc-10_gve_ring_size-a4cc0e62a685+
[spatel_ciq_com@kernel-gve-test-1 ~]$ sudo ethtool -g eth0
Ring parameters for eth0:
Pre-set maximums:
RX:			4096
RX Mini:		n/a
RX Jumbo:		n/a
TX:			4096
TX push buff len:	n/a
HDS thresh:		n/a
Current hardware settings:
RX:			1024
RX Mini:		n/a
RX Jumbo:		n/a
TX:			1024
RX Buf Len:		n/a
CQE Size:		n/a
TX Push:		off
RX Push:		off
TX push buff len:	n/a
TCP data split:		n/a
HDS thresh:		n/a
[spatel_ciq_com@kernel-gve-test-1 ~]$ sudo ethtool -G eth0 rx 4096 tx 4096
[spatel_ciq_com@kernel-gve-test-1 ~]$ sudo ethtool -g eth0
Ring parameters for eth0:
Pre-set maximums:
RX:			4096
RX Mini:		n/a
RX Jumbo:		n/a
TX:			4096
TX push buff len:	n/a
HDS thresh:		n/a
Current hardware settings:
RX:			4096
RX Mini:		n/a
RX Jumbo:		n/a
TX:			4096
RX Buf Len:		n/a
CQE Size:		n/a
TX Push:		off
RX Push:		off
TX push buff len:	n/a
TCP data split:		n/a
HDS thresh:		n/a
[spatel_ciq_com@kernel-gve-test-1 ~]$ 

Test Results

✅ Build Stage

Architecture Build Time Total Time
x86_64 39m 39s 40m 30s
aarch64 24m 35s 25m 10s

✅ Boot Verification

✅ Kernel Selftests

Architecture Passed Failed Compared Against Status
x86_64 428 64 rlc-10/6.12.0-211.39.1.el10_2 ⚠️ No baseline available
aarch64 377 58 rlc-10/6.12.0-211.39.1.el10_2 ⚠️ No baseline available

✅ LTP Results

Architecture Passed Failed Compared Against Status
x86_64 1479 81 rlc-10/6.12.0-211.39.1.el10_2 ⚠️ No baseline available
aarch64 1451 81 rlc-10/6.12.0-211.39.1.el10_2 ⚠️ No baseline available

🤖 This PR was automatically generated by GitHub Actions
Run ID: 30629866776

shreeya-patel98 and others added 4 commits July 31, 2026 12:13
jira KERNEL-1217
commit-author Harshitha Ramamurthy <[email protected]>
commit 93c68f1

In preparation for the upcoming page pool adoption for DQO
raw addressing mode, move RX buffer management code to a new
file. In the follow on patches, page pool code will be added
to this file.

No functional change, just movement of code.

	Reviewed-by: Praveen Kaligineedi <[email protected]>
	Reviewed-by: Shailend Chand <[email protected]>
	Reviewed-by: Willem de Bruijn <[email protected]>
	Signed-off-by: Harshitha Ramamurthy <[email protected]>
	Reviewed-by: Jacob Keller <[email protected]>
Link: https://patch.msgid.link/[email protected]
	Signed-off-by: Jakub Kicinski <[email protected]>
(cherry picked from commit 93c68f1)
	Signed-off-by: Shreeya Patel <[email protected]>
jira KERNEL-1217
commit-author Matt Olson <[email protected]>
commit 07993df
upstream-diff Conflicts from the gve_queue_config split and page_pool/
  netmem/XDP refactors not in RLC 10. Kept RLC 10 struct names (qcfg/
  qcfg_tx, no num_xdp_rings) and datapath (no page_pool/xsk); the
  gve_update_num_qpl_pages() body is applied verbatim except
  rx_alloc_cfg->qcfg_rx->num_queues -> ->qcfg->num_queues. buffer-mgmt
  and rx_dqo num_buf_states use cfg->pages_per_qpl / priv->rx_pages_per_qpl.

For DQO, change QPL page registration logic to be more flexible to honor
the "max_registered_pages" parameter from the gVNIC device.

Previously the number of RX pages per QPL was hardcoded to twice the
ring size, and the number of TX pages per QPL was dictated by the device
in the DQO-QPL device option. Now the driver will ignore the
"tx_pages_per_qpl" parameter indicated in the DQO-QPL device option and
instead allocate up to (tx_queue_length / 2) pages per TX QPL and up to
(rx_queue_length * 2) pages per RX QPL while keeping the total number of
pages under the "max_registered_pages".

	Signed-off-by: Matt Olson <[email protected]>
	Signed-off-by: Joshua Washington <[email protected]>
	Reviewed-by: Harshitha Ramamurthy <[email protected]>
	Signed-off-by: Jakub Kicinski <[email protected]>
(cherry picked from commit 07993df)
	Signed-off-by: Shreeya Patel <[email protected]>
jira KERNEL-1217
commit-author Matt Olson <[email protected]>
commit a2f1918

The gVNIC device indicates a device option (MODIFY_RING) to the driver,
which presents a range of ring sizes from which the user is allowed to
select. But in DQO-QPL queue format, the driver ignores the "max" of
this range and instead allows the user to configure the ring size in the
range [min, default]. This was done because increasing the ring size
could result in the number of registered pages being higher than the max
allowed by the device.

In order to support large ring sizes, stop ignoring the "max" of the
range presented in the MODIFY_RING option.

	Signed-off-by: Matt Olson <[email protected]>
	Signed-off-by: Max Yuan <[email protected]>
	Reviewed-by: Jordan Rhee <[email protected]>
	Reviewed-by: Harshitha Ramamurthy <[email protected]>
	Reviewed-by: Praveen Kaligineedi <[email protected]>
	Signed-off-by: Joshua Washington <[email protected]>
Link: https://patch.msgid.link/[email protected]
	Signed-off-by: Jakub Kicinski <[email protected]>
(cherry picked from commit a2f1918)
	Signed-off-by: Shreeya Patel <[email protected]>
jira KERNEL-1217
commit-author Joshua Washington <[email protected]>
commit de63ac44a527b6c626ba7adb54873d4d6bd8de23
upstream-diff Kept RLC 10's cfg->pages_per_qpl assignment in
  gve_tx_get_curr_alloc_cfg alongside this commit's num_rings change
  (which now derives num_xdp_queues locally rather than from the
  possibly-stale priv->num_xdp_queues). No other deviation.

This patch fixes a number of consistency issues in the queue allocation
path related to XDP. The number of allocated XDP queues now consistently
tracks priv->xdp_prog across the up/down and program add/remove paths.

	Signed-off-by: Joshua Washington <[email protected]>
	Signed-off-by: Jakub Kicinski <[email protected]>
(cherry picked from commit de63ac44a527b6c626ba7adb54873d4d6bd8de23)
	Signed-off-by: Shreeya Patel <[email protected]>
@ciq-kernel-automation ciq-kernel-automation Bot added the created-by-kernelci Tag PRs that were automatically created when a user branch was pushed to the repo (kernelCI) label Jul 31, 2026
@shreeya-patel98
shreeya-patel98 requested a review from a team July 31, 2026 16:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

created-by-kernelci Tag PRs that were automatically created when a user branch was pushed to the repo (kernelCI)

Development

Successfully merging this pull request may close these issues.

2 participants