On Fri, Feb 18, 2022 at 08:43:20AM -0700, Willem de Bruijn wrote: > On Thu, Feb 17, 2022 at 12:05 PM Andrew Melnichenko <andrew@xxxxxxxxxx> wrote: > > > > Hi all, > > > > On Mon, Feb 14, 2022 at 12:09 AM Willem de Bruijn > > <willemdebruijn.kernel@xxxxxxxxx> wrote: > > > > > > > > > @@ -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? It does, but VIRTIO_NET_F_MQ is a misnomer. \item[VIRTIO_NET_F_MQ(22)] Device supports multiqueue with automatic receive steering. VIRTIO_NET_F_RSS implies multi queue and does not depend on VIRTIO_NET_F_MQ. -- MST _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization