Thread (15 messages) 15 messages, 3 authors, 2022-02-20

Re: [PATCH v3 2/4] drivers/net/virtio_net: Added basic RSS support.

From: Willem de Bruijn <willemdebruijn.kernel@gmail.com>
Date: 2022-02-18 15:44:01
Also in: lkml, virtualization

On Thu, Feb 17, 2022 at 12:05 PM Andrew Melnichenko [off-list ref] wrote:
Hi all,

On Mon, Feb 14, 2022 at 12:09 AM Willem de Bruijn
[off-list ref] wrote:
quoted
quoted
quoted
quoted
@@ -3113,13 +3270,14 @@ static int virtnet_probe(struct virtio_device *vdev)
        u16 max_queue_pairs;
        int mtu;

-       /* Find if host supports multiqueue virtio_net device */
-       err = virtio_cread_feature(vdev, VIRTIO_NET_F_MQ,
-                                  struct virtio_net_config,
-                                  max_virtqueue_pairs, &max_queue_pairs);
+       /* Find if host supports multiqueue/rss virtio_net device */
+       max_queue_pairs = 1;
+       if (virtio_has_feature(vdev, VIRTIO_NET_F_MQ) || virtio_has_feature(vdev, VIRTIO_NET_F_RSS))
+               max_queue_pairs =
+                    virtio_cread16(vdev, offsetof(struct virtio_net_config, max_virtqueue_pairs));
Instead of testing either feature and treating them as somewhat equal,
shouldn't RSS be dependent on MQ?
No, RSS is dependent on CTRL_VQ. Technically RSS and MQ are similar features.
RSS depends on having multiple queues.

What would enabling VIRTIO_NET_F_RSS without VIRTIO_NET_F_MQ do?
RSS would work.
What does that mean, exactly? RSS is load balancing, does that not
require multi-queue?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help