Re: [PATCH net-next v10] virtio/vsock: replace virtio_vsock_pkt with sk_buff

From: Stefano Garzarella
Date: Mon Jan 16 2023 - 06:13:28 EST


On Fri, Jan 13, 2023 at 10:21:37PM +0000, Bobby Eshleman wrote:
This commit changes virtio/vsock to use sk_buff instead of
virtio_vsock_pkt. Beyond better conforming to other net code, using
sk_buff allows vsock to use sk_buff-dependent features in the future
(such as sockmap) and improves throughput.

This patch introduces the following performance changes:

Tool: Uperf
Env: Phys Host + L1 Guest
Payload: 64k
Threads: 16
Test Runs: 10
Type: SOCK_STREAM
Before: commit b7bfaa761d760 ("Linux 6.2-rc3")

Before
------
g2h: 16.77Gb/s
h2g: 10.56Gb/s

After
-----
g2h: 21.04Gb/s
h2g: 10.76Gb/s

Signed-off-by: Bobby Eshleman <bobby.eshleman@xxxxxxxxxxxxx>

---
Changes in v10:
- vhost/vsock: use virtio_vsock_skb_dequeue()
- vhost/vsock: remove extra iov_length() call
- vhost/vsock: also consider hdr when evaluating that incoming size is
valid
- new uperf data

Tests seem fine!

Reviewed-by: Stefano Garzarella <sgarzare@xxxxxxxxxx>