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@redhat.com To: Stefano Garzarella sgarzare@redhat.com To: "Michael S. Tsirkin" mst@redhat.com To: Jason Wang jasowang@redhat.com To: "David S. Miller" davem@davemloft.net To: Eric Dumazet edumazet@google.com To: Jakub Kicinski kuba@kernel.org To: Paolo Abeni pabeni@redhat.com To: Andrii Nakryiko andrii@kernel.org To: Mykola Lysenko mykolal@fb.com To: Alexei Starovoitov ast@kernel.org To: Daniel Borkmann daniel@iogearbox.net To: Martin KaFai Lau martin.lau@linux.dev To: Song Liu song@kernel.org To: Yonghong Song yhs@fb.com To: John Fastabend john.fastabend@gmail.com To: KP Singh kpsingh@kernel.org To: Stanislav Fomichev sdf@google.com To: Hao Luo haoluo@google.com To: Jiri Olsa jolsa@kernel.org To: Shuah Khan shuah@kernel.org Cc: linux-kernel@vger.kernel.org Cc: kvm@vger.kernel.org Cc: virtualization@lists.linux-foundation.org Cc: netdev@vger.kernel.org Cc: bpf@vger.kernel.org Cc: linux-kselftest@vger.kernel.org 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 | 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@bytedance.com