* [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 an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.