Hi Bobby,
On Wed, Jan 18, 2023 at 12:27:39PM -0800, 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 221%
in
>basic testing.
Cool, nice series!
>
>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 (+221%)
Assuming the absolute value is correct, there is a typo here, it would
be +121% right?
>- The guest redirector was a simple sockmap echo server,
> redirecting unix ingress to vsock 2:1234 egress.
>- Same sender and server programs
>
>Only the virtio transport has been tested.
I think is fine for now.
>The loopback transport was used in
>writing bpf/selftests, but not thoroughly tested otherwise.
I did a quick review mainly for vsock stuff.
Hoping others can take a better look at net/vmw_vsock/vsock_bpf.c, since
I'm not very familiar with that subsystem.
FYI I will be off the next two weeks (till Feb 7) with limited internet
access.
Thanks,
Stefano
>
>This series requires the skb patch.
>
>To: Stefan Hajnoczi <stefanha at redhat.com>
>To: Stefano Garzarella <sgarzare at redhat.com>
>To: "Michael S. Tsirkin" <mst at redhat.com>
>To: Jason Wang <jasowang at redhat.com>
>To: "David S. Miller" <davem at davemloft.net>
>To: Eric Dumazet <edumazet at google.com>
>To: Jakub Kicinski <kuba at kernel.org>
>To: Paolo Abeni <pabeni at redhat.com>
>To: Andrii Nakryiko <andrii at kernel.org>
>To: Mykola Lysenko <mykolal at fb.com>
>To: Alexei Starovoitov <ast at kernel.org>
>To: Daniel Borkmann <daniel at iogearbox.net>
>To: Martin KaFai Lau <martin.lau at linux.dev>
>To: Song Liu <song at kernel.org>
>To: Yonghong Song <yhs at fb.com>
>To: John Fastabend <john.fastabend at gmail.com>
>To: KP Singh <kpsingh at kernel.org>
>To: Stanislav Fomichev <sdf at google.com>
>To: Hao Luo <haoluo at google.com>
>To: Jiri Olsa <jolsa at kernel.org>
>To: Shuah Khan <shuah at kernel.org>
>Cc: linux-kernel at vger.kernel.org
>Cc: kvm at vger.kernel.org
>Cc: virtualization at lists.linux-foundation.org
>Cc: netdev at vger.kernel.org
>Cc: bpf at vger.kernel.org
>Cc: linux-kselftest at vger.kernel.org
>Signed-off-by: Bobby Eshleman <bobby.eshleman at 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 | 59 ++++++-
> net/vmw_vsock/virtio_transport.c | 2 +
> net/vmw_vsock/virtio_transport_common.c | 22 +++
> net/vmw_vsock/vsock_bpf.c | 180
+++++++++++++++++++++
> net/vmw_vsock/vsock_loopback.c | 2 +
> tools/testing/selftests/bpf/config.x86_64 | 4 +
> .../selftests/bpf/prog_tests/sockmap_listen.c | 163
+++++++++++++++++++
> tools/testing/selftests/bpf/vmtest.sh | 1 +
> 12 files changed, 447 insertions(+), 6 deletions(-)
>---
>base-commit: f12f4326c6a75a74e908714be6d2f0e2f0fd0d76
>change-id: 20230118-support-vsock-sockmap-connectible-2e1297d2111a
>
>Best regards,
>--
>Bobby Eshleman <bobby.eshleman at bytedance.com>
>