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 <and...@daynix.com> wrote: > > > > Hi all, > > > > On Mon, Feb 14, 2022 at 12:09 AM Willem de Bruijn > > <willemdebruijn.ker...@gmail.com> 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@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization