* [PATCH 0/2] virtio-net: Fix RSS @ 2024-03-26 10:06 Akihiko Odaki 2024-03-26 10:06 ` [PATCH 1/2] virtio-net: Fix vhost virtqueue notifiers for RSS Akihiko Odaki 2024-03-26 10:06 ` [PATCH 2/2] ebpf: Fix indirections table setting Akihiko Odaki 0 siblings, 2 replies; 5+ messages in thread From: Akihiko Odaki @ 2024-03-26 10:06 UTC (permalink / raw) To: Michael S. Tsirkin, Jason Wang, Andrew Melnychenko, Yuri Benditovich Cc: qemu-devel, Akihiko Odaki Some recent changes made RSS unfunctional so here are fixes. Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com> --- Akihiko Odaki (2): virtio-net: Fix vhost virtqueue notifiers for RSS ebpf: Fix indirections table setting ebpf/ebpf_rss.h | 2 +- ebpf/ebpf_rss.c | 5 +++-- hw/net/virtio-net.c | 4 ++-- 3 files changed, 6 insertions(+), 5 deletions(-) --- base-commit: ba49d760eb04630e7b15f423ebecf6c871b8f77b change-id: 20240324-vhost-5e26c8a2da5a Best regards, -- Akihiko Odaki <akihiko.odaki@daynix.com> ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 1/2] virtio-net: Fix vhost virtqueue notifiers for RSS 2024-03-26 10:06 [PATCH 0/2] virtio-net: Fix RSS Akihiko Odaki @ 2024-03-26 10:06 ` Akihiko Odaki 2024-04-08 10:13 ` Michael S. Tsirkin 2024-03-26 10:06 ` [PATCH 2/2] ebpf: Fix indirections table setting Akihiko Odaki 1 sibling, 1 reply; 5+ messages in thread From: Akihiko Odaki @ 2024-03-26 10:06 UTC (permalink / raw) To: Michael S. Tsirkin, Jason Wang, Andrew Melnychenko, Yuri Benditovich Cc: qemu-devel, Akihiko Odaki virtio_net_guest_notifier_pending() and virtio_net_guest_notifier_mask() checked VIRTIO_NET_F_MQ to know there are multiple queues, but VIRTIO_NET_F_RSS also enables multiple queues. Refer to n->multiqueue, which is set to true either of VIRTIO_NET_F_MQ or VIRTIO_NET_F_RSS is enabled. Fixes: 68b0a6395f36 ("virtio-net: align ctrl_vq index for non-mq guest for vhost_vdpa") Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com> --- hw/net/virtio-net.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index 9959f1932b1b..a6ff000cd9d3 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -3426,7 +3426,7 @@ static bool virtio_net_guest_notifier_pending(VirtIODevice *vdev, int idx) VirtIONet *n = VIRTIO_NET(vdev); NetClientState *nc; assert(n->vhost_started); - if (!virtio_vdev_has_feature(vdev, VIRTIO_NET_F_MQ) && idx == 2) { + if (!n->multiqueue && idx == 2) { /* Must guard against invalid features and bogus queue index * from being set by malicious guest, or penetrated through * buggy migration stream. @@ -3458,7 +3458,7 @@ static void virtio_net_guest_notifier_mask(VirtIODevice *vdev, int idx, VirtIONet *n = VIRTIO_NET(vdev); NetClientState *nc; assert(n->vhost_started); - if (!virtio_vdev_has_feature(vdev, VIRTIO_NET_F_MQ) && idx == 2) { + if (!n->multiqueue && idx == 2) { /* Must guard against invalid features and bogus queue index * from being set by malicious guest, or penetrated through * buggy migration stream. -- 2.44.0 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 1/2] virtio-net: Fix vhost virtqueue notifiers for RSS 2024-03-26 10:06 ` [PATCH 1/2] virtio-net: Fix vhost virtqueue notifiers for RSS Akihiko Odaki @ 2024-04-08 10:13 ` Michael S. Tsirkin 2024-04-09 3:40 ` Jason Wang 0 siblings, 1 reply; 5+ messages in thread From: Michael S. Tsirkin @ 2024-04-08 10:13 UTC (permalink / raw) To: Akihiko Odaki Cc: Jason Wang, Andrew Melnychenko, Yuri Benditovich, qemu-devel On Tue, Mar 26, 2024 at 07:06:29PM +0900, Akihiko Odaki wrote: > virtio_net_guest_notifier_pending() and virtio_net_guest_notifier_mask() > checked VIRTIO_NET_F_MQ to know there are multiple queues, but > VIRTIO_NET_F_RSS also enables multiple queues. Refer to n->multiqueue, > which is set to true either of VIRTIO_NET_F_MQ or VIRTIO_NET_F_RSS is > enabled. > > Fixes: 68b0a6395f36 ("virtio-net: align ctrl_vq index for non-mq guest for vhost_vdpa") > Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Jason, are you merging this? > --- > hw/net/virtio-net.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c > index 9959f1932b1b..a6ff000cd9d3 100644 > --- a/hw/net/virtio-net.c > +++ b/hw/net/virtio-net.c > @@ -3426,7 +3426,7 @@ static bool virtio_net_guest_notifier_pending(VirtIODevice *vdev, int idx) > VirtIONet *n = VIRTIO_NET(vdev); > NetClientState *nc; > assert(n->vhost_started); > - if (!virtio_vdev_has_feature(vdev, VIRTIO_NET_F_MQ) && idx == 2) { > + if (!n->multiqueue && idx == 2) { > /* Must guard against invalid features and bogus queue index > * from being set by malicious guest, or penetrated through > * buggy migration stream. > @@ -3458,7 +3458,7 @@ static void virtio_net_guest_notifier_mask(VirtIODevice *vdev, int idx, > VirtIONet *n = VIRTIO_NET(vdev); > NetClientState *nc; > assert(n->vhost_started); > - if (!virtio_vdev_has_feature(vdev, VIRTIO_NET_F_MQ) && idx == 2) { > + if (!n->multiqueue && idx == 2) { > /* Must guard against invalid features and bogus queue index > * from being set by malicious guest, or penetrated through > * buggy migration stream. > > -- > 2.44.0 ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/2] virtio-net: Fix vhost virtqueue notifiers for RSS 2024-04-08 10:13 ` Michael S. Tsirkin @ 2024-04-09 3:40 ` Jason Wang 0 siblings, 0 replies; 5+ messages in thread From: Jason Wang @ 2024-04-09 3:40 UTC (permalink / raw) To: Michael S. Tsirkin Cc: Akihiko Odaki, Andrew Melnychenko, Yuri Benditovich, qemu-devel On Mon, Apr 8, 2024 at 6:13 PM Michael S. Tsirkin <mst@redhat.com> wrote: > > On Tue, Mar 26, 2024 at 07:06:29PM +0900, Akihiko Odaki wrote: > > virtio_net_guest_notifier_pending() and virtio_net_guest_notifier_mask() > > checked VIRTIO_NET_F_MQ to know there are multiple queues, but > > VIRTIO_NET_F_RSS also enables multiple queues. Refer to n->multiqueue, > > which is set to true either of VIRTIO_NET_F_MQ or VIRTIO_NET_F_RSS is > > enabled. > > > > Fixes: 68b0a6395f36 ("virtio-net: align ctrl_vq index for non-mq guest for vhost_vdpa") > > Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com> > > Reviewed-by: Michael S. Tsirkin <mst@redhat.com> > > Jason, are you merging this? It has been merged: https://gitlab.com/qemu-project/qemu/-/commit/ba6bb2ec953f10751f174b6f7da8fe7e5f008c08 Thanks ^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH 2/2] ebpf: Fix indirections table setting 2024-03-26 10:06 [PATCH 0/2] virtio-net: Fix RSS Akihiko Odaki 2024-03-26 10:06 ` [PATCH 1/2] virtio-net: Fix vhost virtqueue notifiers for RSS Akihiko Odaki @ 2024-03-26 10:06 ` Akihiko Odaki 1 sibling, 0 replies; 5+ messages in thread From: Akihiko Odaki @ 2024-03-26 10:06 UTC (permalink / raw) To: Michael S. Tsirkin, Jason Wang, Andrew Melnychenko, Yuri Benditovich Cc: qemu-devel, Akihiko Odaki The kernel documentation says: > The value stored can be of any size, however, all array elements are > aligned to 8 bytes. https://www.kernel.org/doc/html/v6.8/bpf/map_array.html Fixes: 333b3e5fab75 ("ebpf: Added eBPF map update through mmap.") Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com> --- ebpf/ebpf_rss.h | 2 +- ebpf/ebpf_rss.c | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/ebpf/ebpf_rss.h b/ebpf/ebpf_rss.h index 239242b0d26e..7d15b600bf5b 100644 --- a/ebpf/ebpf_rss.h +++ b/ebpf/ebpf_rss.h @@ -26,7 +26,7 @@ struct EBPFRSSContext { /* mapped eBPF maps for direct access to omit bpf_map_update_elem() */ void *mmap_configuration; void *mmap_toeplitz_key; - void *mmap_indirections_table; + uint64_t *mmap_indirections_table; }; struct EBPFRSSConfig { diff --git a/ebpf/ebpf_rss.c b/ebpf/ebpf_rss.c index 2e506f974357..e0f300febb77 100644 --- a/ebpf/ebpf_rss.c +++ b/ebpf/ebpf_rss.c @@ -190,8 +190,9 @@ static bool ebpf_rss_set_indirections_table(struct EBPFRSSContext *ctx, return false; } - memcpy(ctx->mmap_indirections_table, indirections_table, - sizeof(*indirections_table) * len); + for (size_t i = 0; i < len; i++) { + ctx->mmap_indirections_table[i] = indirections_table[i]; + } return true; } -- 2.44.0 ^ permalink raw reply related [flat|nested] 5+ messages in thread
end of thread, other threads:[~2024-04-09 3:41 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-03-26 10:06 [PATCH 0/2] virtio-net: Fix RSS Akihiko Odaki 2024-03-26 10:06 ` [PATCH 1/2] virtio-net: Fix vhost virtqueue notifiers for RSS Akihiko Odaki 2024-04-08 10:13 ` Michael S. Tsirkin 2024-04-09 3:40 ` Jason Wang 2024-03-26 10:06 ` [PATCH 2/2] ebpf: Fix indirections table setting Akihiko Odaki
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).