From: "Michael S. Tsirkin" <mst@redhat.com>
To: Bobby Eshleman <bobby.eshleman@bytedance.com>
Cc: Stefan Hajnoczi <stefanha@redhat.com>,
Stefano Garzarella <sgarzare@redhat.com>,
Jason Wang <jasowang@redhat.com>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Alexei Starovoitov <ast@kernel.org>,
Daniel Borkmann <daniel@iogearbox.net>,
Andrii Nakryiko <andrii@kernel.org>,
Martin KaFai Lau <martin.lau@linux.dev>,
Song Liu <song@kernel.org>, Yonghong Song <yhs@fb.com>,
John Fastabend <john.fastabend@gmail.com>,
KP Singh <kpsingh@kernel.org>,
Stanislav Fomichev <sdf@google.com>, Hao Luo <haoluo@google.com>,
Jiri Olsa <jolsa@kernel.org>, Mykola Lysenko <mykolal@fb.com>,
Shuah Khan <shuah@kernel.org>,
linux-kernel@vger.kernel.org, kvm@vger.kernel.org,
virtualization@lists.linux-foundation.org,
netdev@vger.kernel.org, bpf@vger.kernel.org,
linux-kselftest@vger.kernel.org,
Cong Wang <cong.wang@bytedance.com>
Subject: Re: [PATCH net-next v3 0/3] vsock: add support for sockmap
Date: Fri, 10 Mar 2023 03:53:37 -0500 [thread overview]
Message-ID: <20230310035307-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20230227-vsock-sockmap-upstream-v3-0-7e7f4ce623ee@bytedance.com>
On Tue, Feb 28, 2023 at 07:04:33PM +0000, Bobby Eshleman wrote:
> Add support for sockmap to vsock.
>
> We're testing usage of vsock as a way to redirect guest-local UDS
> requests to the host and this patch series greatly improves the
> performance of such a setup.
>
> Compared to copying packets via userspace, this improves throughput by
> 121% in basic testing.
besides the small comment, looks ok. Feel free to include my ack
in v4:
Acked-by: Michael S. Tsirkin <mst@redhat.com>
> Tested as follows.
>
> Setup: guest unix dgram sender -> guest vsock redirector -> host vsock
> server
> Threads: 1
> Payload: 64k
> No sockmap:
> - 76.3 MB/s
> - The guest vsock redirector was
> "socat VSOCK-CONNECT:2:1234 UNIX-RECV:/path/to/sock"
> Using sockmap (this patch):
> - 168.8 MB/s (+121%)
> - The guest redirector was a simple sockmap echo server,
> redirecting unix ingress to vsock 2:1234 egress.
> - Same sender and server programs
>
> *Note: these numbers are from RFC v1
>
> Only the virtio transport has been tested. The loopback transport was
> used in writing bpf/selftests, but not thoroughly tested otherwise.
>
> This series requires the skb patch.
>
> Changes in v3:
> - vsock/bpf: Refactor wait logic in vsock_bpf_recvmsg() to avoid
> backwards goto
> - vsock/bpf: Check psock before acquiring slock
> - vsock/bpf: Return bool instead of int of 0 or 1
> - vsock/bpf: Wrap macro args __sk/__psock in parens
> - vsock/bpf: Place comment trailer */ on separate line
>
> Changes in v2:
> - vsock/bpf: rename vsock_dgram_* -> vsock_*
> - vsock/bpf: change sk_psock_{get,put} and {lock,release}_sock() order
> to minimize slock hold time
> - vsock/bpf: use "new style" wait
> - vsock/bpf: fix bug in wait log
> - vsock/bpf: add check that recvmsg sk_type is one dgram, seqpacket, or
> stream. Return error if not one of the three.
> - virtio/vsock: comment __skb_recv_datagram() usage
> - virtio/vsock: do not init copied in read_skb()
> - vsock/bpf: add ifdef guard around struct proto in dgram_recvmsg()
> - selftests/bpf: add vsock loopback config for aarch64
> - selftests/bpf: add vsock loopback config for s390x
> - selftests/bpf: remove vsock device from vmtest.sh qemu machine
> - selftests/bpf: remove CONFIG_VIRTIO_VSOCKETS=y from config.x86_64
> - vsock/bpf: move transport-related (e.g., if (!vsk->transport)) checks
> out of fast path
>
> Signed-off-by: Bobby Eshleman <bobby.eshleman@bytedance.com>
> ---
> Bobby Eshleman (3):
> vsock: support sockmap
> selftests/bpf: add vsock to vmtest.sh
> selftests/bpf: Add a test case for vsock sockmap
>
> drivers/vhost/vsock.c | 1 +
> include/linux/virtio_vsock.h | 1 +
> include/net/af_vsock.h | 17 ++
> net/vmw_vsock/Makefile | 1 +
> net/vmw_vsock/af_vsock.c | 55 ++++++-
> net/vmw_vsock/virtio_transport.c | 2 +
> net/vmw_vsock/virtio_transport_common.c | 24 +++
> net/vmw_vsock/vsock_bpf.c | 175 +++++++++++++++++++++
> net/vmw_vsock/vsock_loopback.c | 2 +
> tools/testing/selftests/bpf/config.aarch64 | 2 +
> tools/testing/selftests/bpf/config.s390x | 3 +
> tools/testing/selftests/bpf/config.x86_64 | 3 +
> .../selftests/bpf/prog_tests/sockmap_listen.c | 163 +++++++++++++++++++
> 13 files changed, 443 insertions(+), 6 deletions(-)
> ---
> base-commit: d83115ce337a632f996e44c9f9e18cadfcf5a094
> change-id: 20230118-support-vsock-sockmap-connectible-2e1297d2111a
>
> Best regards,
> --
> Bobby Eshleman <bobby.eshleman@bytedance.com>
>
> ---
> Bobby Eshleman (3):
> vsock: support sockmap
> selftests/bpf: add vsock to vmtest.sh
> selftests/bpf: add a test case for vsock sockmap
>
> drivers/vhost/vsock.c | 1 +
> include/linux/virtio_vsock.h | 1 +
> include/net/af_vsock.h | 17 ++
> net/vmw_vsock/Makefile | 1 +
> net/vmw_vsock/af_vsock.c | 55 ++++++-
> net/vmw_vsock/virtio_transport.c | 2 +
> net/vmw_vsock/virtio_transport_common.c | 25 +++
> net/vmw_vsock/vsock_bpf.c | 174 +++++++++++++++++++++
> net/vmw_vsock/vsock_loopback.c | 2 +
> tools/testing/selftests/bpf/config.aarch64 | 2 +
> tools/testing/selftests/bpf/config.s390x | 3 +
> tools/testing/selftests/bpf/config.x86_64 | 3 +
> .../selftests/bpf/prog_tests/sockmap_listen.c | 163 +++++++++++++++++++
> 13 files changed, 443 insertions(+), 6 deletions(-)
> ---
> base-commit: c2ea552065e43d05bce240f53c3185fd3a066204
> change-id: 20230227-vsock-sockmap-upstream-9d65c84174a2
>
> Best regards,
> --
> Bobby Eshleman <bobby.eshleman@bytedance.com>
WARNING: multiple messages have this Message-ID (diff)
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Bobby Eshleman <bobby.eshleman@bytedance.com>
Cc: Cong Wang <cong.wang@bytedance.com>,
kvm@vger.kernel.org, Alexei Starovoitov <ast@kernel.org>,
virtualization@lists.linux-foundation.org,
Song Liu <song@kernel.org>, Eric Dumazet <edumazet@google.com>,
Stanislav Fomichev <sdf@google.com>,
linux-kselftest@vger.kernel.org, Shuah Khan <shuah@kernel.org>,
Mykola Lysenko <mykolal@fb.com>,
Daniel Borkmann <daniel@iogearbox.net>,
John Fastabend <john.fastabend@gmail.com>,
Andrii Nakryiko <andrii@kernel.org>, Yonghong Song <yhs@fb.com>,
Paolo Abeni <pabeni@redhat.com>, KP Singh <kpsingh@kernel.org>,
Stefan Hajnoczi <stefanha@redhat.com>,
Jakub Kicinski <kuba@kernel.org>, Hao Luo <haoluo@google.com>,
netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
Jiri Olsa <jolsa@kernel.org>,
bpf@vger.kernel.org, Martin KaFai Lau <martin.lau@linux.dev>,
"David S. Miller" <davem@davemloft.net>
Subject: Re: [PATCH net-next v3 0/3] vsock: add support for sockmap
Date: Fri, 10 Mar 2023 03:53:37 -0500 [thread overview]
Message-ID: <20230310035307-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20230227-vsock-sockmap-upstream-v3-0-7e7f4ce623ee@bytedance.com>
On Tue, Feb 28, 2023 at 07:04:33PM +0000, Bobby Eshleman wrote:
> Add support for sockmap to vsock.
>
> We're testing usage of vsock as a way to redirect guest-local UDS
> requests to the host and this patch series greatly improves the
> performance of such a setup.
>
> Compared to copying packets via userspace, this improves throughput by
> 121% in basic testing.
besides the small comment, looks ok. Feel free to include my ack
in v4:
Acked-by: Michael S. Tsirkin <mst@redhat.com>
> Tested as follows.
>
> Setup: guest unix dgram sender -> guest vsock redirector -> host vsock
> server
> Threads: 1
> Payload: 64k
> No sockmap:
> - 76.3 MB/s
> - The guest vsock redirector was
> "socat VSOCK-CONNECT:2:1234 UNIX-RECV:/path/to/sock"
> Using sockmap (this patch):
> - 168.8 MB/s (+121%)
> - The guest redirector was a simple sockmap echo server,
> redirecting unix ingress to vsock 2:1234 egress.
> - Same sender and server programs
>
> *Note: these numbers are from RFC v1
>
> Only the virtio transport has been tested. The loopback transport was
> used in writing bpf/selftests, but not thoroughly tested otherwise.
>
> This series requires the skb patch.
>
> Changes in v3:
> - vsock/bpf: Refactor wait logic in vsock_bpf_recvmsg() to avoid
> backwards goto
> - vsock/bpf: Check psock before acquiring slock
> - vsock/bpf: Return bool instead of int of 0 or 1
> - vsock/bpf: Wrap macro args __sk/__psock in parens
> - vsock/bpf: Place comment trailer */ on separate line
>
> Changes in v2:
> - vsock/bpf: rename vsock_dgram_* -> vsock_*
> - vsock/bpf: change sk_psock_{get,put} and {lock,release}_sock() order
> to minimize slock hold time
> - vsock/bpf: use "new style" wait
> - vsock/bpf: fix bug in wait log
> - vsock/bpf: add check that recvmsg sk_type is one dgram, seqpacket, or
> stream. Return error if not one of the three.
> - virtio/vsock: comment __skb_recv_datagram() usage
> - virtio/vsock: do not init copied in read_skb()
> - vsock/bpf: add ifdef guard around struct proto in dgram_recvmsg()
> - selftests/bpf: add vsock loopback config for aarch64
> - selftests/bpf: add vsock loopback config for s390x
> - selftests/bpf: remove vsock device from vmtest.sh qemu machine
> - selftests/bpf: remove CONFIG_VIRTIO_VSOCKETS=y from config.x86_64
> - vsock/bpf: move transport-related (e.g., if (!vsk->transport)) checks
> out of fast path
>
> Signed-off-by: Bobby Eshleman <bobby.eshleman@bytedance.com>
> ---
> Bobby Eshleman (3):
> vsock: support sockmap
> selftests/bpf: add vsock to vmtest.sh
> selftests/bpf: Add a test case for vsock sockmap
>
> drivers/vhost/vsock.c | 1 +
> include/linux/virtio_vsock.h | 1 +
> include/net/af_vsock.h | 17 ++
> net/vmw_vsock/Makefile | 1 +
> net/vmw_vsock/af_vsock.c | 55 ++++++-
> net/vmw_vsock/virtio_transport.c | 2 +
> net/vmw_vsock/virtio_transport_common.c | 24 +++
> net/vmw_vsock/vsock_bpf.c | 175 +++++++++++++++++++++
> net/vmw_vsock/vsock_loopback.c | 2 +
> tools/testing/selftests/bpf/config.aarch64 | 2 +
> tools/testing/selftests/bpf/config.s390x | 3 +
> tools/testing/selftests/bpf/config.x86_64 | 3 +
> .../selftests/bpf/prog_tests/sockmap_listen.c | 163 +++++++++++++++++++
> 13 files changed, 443 insertions(+), 6 deletions(-)
> ---
> base-commit: d83115ce337a632f996e44c9f9e18cadfcf5a094
> change-id: 20230118-support-vsock-sockmap-connectible-2e1297d2111a
>
> Best regards,
> --
> Bobby Eshleman <bobby.eshleman@bytedance.com>
>
> ---
> Bobby Eshleman (3):
> vsock: support sockmap
> selftests/bpf: add vsock to vmtest.sh
> selftests/bpf: add a test case for vsock sockmap
>
> drivers/vhost/vsock.c | 1 +
> include/linux/virtio_vsock.h | 1 +
> include/net/af_vsock.h | 17 ++
> net/vmw_vsock/Makefile | 1 +
> net/vmw_vsock/af_vsock.c | 55 ++++++-
> net/vmw_vsock/virtio_transport.c | 2 +
> net/vmw_vsock/virtio_transport_common.c | 25 +++
> net/vmw_vsock/vsock_bpf.c | 174 +++++++++++++++++++++
> net/vmw_vsock/vsock_loopback.c | 2 +
> tools/testing/selftests/bpf/config.aarch64 | 2 +
> tools/testing/selftests/bpf/config.s390x | 3 +
> tools/testing/selftests/bpf/config.x86_64 | 3 +
> .../selftests/bpf/prog_tests/sockmap_listen.c | 163 +++++++++++++++++++
> 13 files changed, 443 insertions(+), 6 deletions(-)
> ---
> base-commit: c2ea552065e43d05bce240f53c3185fd3a066204
> change-id: 20230227-vsock-sockmap-upstream-9d65c84174a2
>
> Best regards,
> --
> Bobby Eshleman <bobby.eshleman@bytedance.com>
_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization
next prev parent reply other threads:[~2023-03-10 9:01 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-02-28 19:04 [PATCH net-next v3 0/3] vsock: add support for sockmap Bobby Eshleman
2023-02-28 19:04 ` [PATCH net-next v3 1/3] vsock: support sockmap Bobby Eshleman
2023-02-28 21:36 ` Michael S. Tsirkin
2023-02-28 21:36 ` Michael S. Tsirkin
2023-02-18 7:25 ` Bobby Eshleman
2023-03-02 9:20 ` Stefano Garzarella
2023-03-02 9:20 ` Stefano Garzarella
2023-03-02 9:42 ` Stefano Garzarella
2023-03-02 9:42 ` Stefano Garzarella
2023-02-28 19:04 ` [PATCH net-next v3 2/3] selftests/bpf: add vsock to vmtest.sh Bobby Eshleman
2023-03-02 9:53 ` Stefano Garzarella
2023-03-02 9:53 ` Stefano Garzarella
2023-02-28 19:04 ` [PATCH net-next v3 3/3] selftests/bpf: add a test case for vsock sockmap Bobby Eshleman
2023-03-02 9:54 ` Stefano Garzarella
2023-03-02 9:54 ` Stefano Garzarella
2023-03-10 8:53 ` Michael S. Tsirkin [this message]
2023-03-10 8:53 ` [PATCH net-next v3 0/3] vsock: add support for sockmap Michael S. Tsirkin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230310035307-mutt-send-email-mst@kernel.org \
--to=mst@redhat.com \
--cc=andrii@kernel.org \
--cc=ast@kernel.org \
--cc=bobby.eshleman@bytedance.com \
--cc=bpf@vger.kernel.org \
--cc=cong.wang@bytedance.com \
--cc=daniel@iogearbox.net \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=haoluo@google.com \
--cc=jasowang@redhat.com \
--cc=john.fastabend@gmail.com \
--cc=jolsa@kernel.org \
--cc=kpsingh@kernel.org \
--cc=kuba@kernel.org \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=martin.lau@linux.dev \
--cc=mykolal@fb.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=sdf@google.com \
--cc=sgarzare@redhat.com \
--cc=shuah@kernel.org \
--cc=song@kernel.org \
--cc=stefanha@redhat.com \
--cc=virtualization@lists.linux-foundation.org \
--cc=yhs@fb.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.