Brett Creeley
3bc06da858
virtio_net: sync rss_trailer.max_tx_vq on queue_pairs change via VQ_PAIRS_SET
...
When netif_is_rxfh_configured() is true (i.e., the user has explicitly
configured the RSS indirection table), virtnet_set_queues() skips the
RSS update path and falls through to the VIRTIO_NET_CTRL_MQ_VQ_PAIRS_SET
command to change the number of queue pairs. However, it does not update
vi->rss_trailer.max_tx_vq to reflect the new queue_pairs value.
This causes a mismatch between vi->curr_queue_pairs and
vi->rss_trailer.max_tx_vq. Any subsequent RSS reconfiguration (e.g.,
via ethtool -X) calls virtnet_commit_rss_command(), which sends the
stale max_tx_vq to the device, silently reverting the queue count.
Reproduction:
1. User configured RSS
ethtool -X eth0 equal 8
2. VQ_PAIRS_SET path; max_tx_vq stays 16
ethtool -L eth0 combined 12
3. RSS commit uses max_tx_vq=16 instead of 12
ethtool -X eth0 equal 4
Fix this by updating vi->rss_trailer.max_tx_vq after a successful
VQ_PAIRS_SET command when RSS is enabled, keeping it in sync with
curr_queue_pairs.
Fixes: 50bfcaedd7 ("virtio_net: Update rss when set queue")
Signed-off-by: Brett Creeley <brett.creeley@amd.com >
Acked-by: Michael S. Tsirkin <mst@redhat.com >
Link: https://patch.msgid.link/20260416212121.29073-1-brett.creeley@amd.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org >
2026-04-23 09:35:53 -07:00
..
2026-04-02 15:18:14 -05:00
2026-02-21 17:09:51 -08:00
2026-04-14 16:48:56 -07:00
2026-02-21 17:09:51 -08:00
2026-04-13 09:54:20 -07:00
2026-04-07 09:36:46 +02:00
2026-02-22 08:26:33 -08:00
2026-03-27 09:54:31 +01:00
2026-04-14 18:36:10 -07:00
2026-02-21 17:09:51 -08:00
2026-04-14 14:03:27 -07:00
2026-04-13 09:19:42 -04:00
2026-04-04 20:41:25 +02:00
2026-02-06 19:54:40 +00:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-03-11 15:22:49 +01:00
2026-03-26 12:09:57 -07:00
2026-03-20 13:36:32 +01:00
2026-04-02 14:40:27 +02:00
2026-02-21 20:03:00 -08:00
2026-03-22 15:59:22 +09:00
2026-04-13 19:47:52 -07:00
2026-04-14 17:10:15 -07:00
2026-04-14 15:20:54 -07:00
2026-03-19 15:12:40 -07:00
2026-02-21 17:09:51 -08:00
2026-02-21 01:02:28 -08:00
2026-04-04 03:15:39 +09:00
2026-03-04 18:48:15 -08:00
2026-02-21 17:09:51 -08:00
2026-03-17 16:33:32 +05:30
2026-03-06 14:31:28 +01:00
2026-04-12 08:27:34 -07:00
2026-04-14 15:32:39 -07:00
2026-02-21 17:09:51 -08:00
2026-02-22 08:26:33 -08:00
2026-03-16 19:29:45 -07:00
2026-04-14 14:10:44 -07:00
2026-02-21 20:03:00 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-04-02 14:30:40 +02:00
2026-04-13 20:10:58 -07:00
2026-04-14 08:55:18 -07:00
2026-02-21 20:03:00 -08:00
2026-04-08 13:38:30 -07:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-04-14 10:02:41 -07:00
2026-04-01 07:45:57 -07:00
2026-02-10 20:45:30 -08:00
2026-04-09 13:28:05 -04:00
2026-04-13 19:03:11 -07:00
2026-03-11 22:50:29 +01:00
2026-03-11 12:52:00 +01:00
2026-03-29 15:27:12 +02:00
2026-04-14 18:36:10 -07:00
2026-04-11 11:12:38 -07:00
2026-03-14 12:53:13 +02:00
2026-04-09 08:36:31 -07:00
2026-02-21 20:03:00 -08:00
2026-04-14 10:23:19 -07:00
2026-02-21 20:03:00 -08:00
2026-02-21 17:09:51 -08:00
2026-02-21 20:03:00 -08:00
2026-02-21 01:02:28 -08:00
2026-02-21 17:09:51 -08:00
2026-04-07 15:13:52 +08:00
2026-03-26 13:14:07 +01:00
2026-02-21 17:09:51 -08:00
2026-02-22 08:26:33 -08:00
2026-02-22 08:26:33 -08:00
2026-02-21 20:03:00 -08:00
2026-04-13 17:52:29 -07:00
2026-03-31 13:11:20 +02:00
2026-02-21 17:09:51 -08:00
2026-03-18 18:08:25 +01:00
2026-02-21 17:09:51 -08:00
2026-04-23 09:35:53 -07:00
2026-04-13 20:10:58 -07:00
2026-04-13 08:39:51 -07:00
2026-02-21 17:09:51 -08:00
2026-04-13 10:40:26 -07:00
2026-04-13 16:22:30 -07:00
2026-04-02 16:44:40 +02:00
2026-03-26 22:00:59 +01:00
2026-02-23 11:05:59 +05:30
2026-02-22 08:26:33 -08:00
2026-02-21 17:09:51 -08:00
2026-04-13 19:25:07 -07:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-04-14 16:48:56 -07:00
2026-04-02 11:03:13 -07:00
2026-04-13 20:10:58 -07:00
2026-04-13 19:25:07 -07:00
2026-04-01 13:03:07 +02:00
2026-02-21 17:09:51 -08:00
2026-04-13 20:28:22 -07:00
2026-04-01 16:03:05 +02:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-03-17 19:06:19 -07:00
2026-04-03 11:57:35 +02:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-04-13 20:10:58 -07:00
2026-03-05 10:18:23 -07:00
2026-04-14 16:48:56 -07:00
2026-03-23 12:25:47 +01:00
2026-02-21 17:09:51 -08:00
2026-04-04 19:14:58 +02:00
2026-04-13 19:03:11 -07:00
2026-02-21 17:09:51 -08:00
2026-04-14 18:36:10 -07:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-03-17 20:30:57 +01:00
2026-04-13 19:03:11 -07:00
2026-04-02 16:15:23 +02:00
2026-04-13 19:03:11 -07:00
2026-02-21 17:09:51 -08:00
2026-02-21 17:09:51 -08:00
2026-03-19 14:16:00 -07:00
2026-04-13 15:51:31 -07:00
2026-02-21 17:09:51 -08:00
2026-03-03 09:03:04 +01:00
2026-04-14 08:55:18 -07:00
2026-03-09 12:36:54 +01:00
2026-04-13 20:28:22 -07:00
2026-03-07 11:08:39 -05:00
2026-02-21 17:09:51 -08:00
2026-04-07 13:35:44 +02:00
2026-04-04 00:47:50 +02:00
2026-04-14 17:10:15 -07:00
2026-03-12 10:59:36 +01:00
2026-03-05 17:35:12 +01:00
2026-04-14 14:42:55 -07:00
2026-03-20 11:33:24 +01:00
2026-02-21 17:09:51 -08:00
2026-04-07 21:06:59 +02:00
2026-04-13 19:25:07 -07:00
2026-02-21 17:09:51 -08:00
2026-02-04 20:45:26 +05:30