[PATCH v2 0/8] vsock/virtio: SKB allocation improvements

Will Deacon posted 8 patches 3 months, 1 week ago
There is a newer version of this series
drivers/vhost/vsock.c                   | 15 +++++-----
include/linux/virtio_vsock.h            | 37 +++++++++++++++++++------
net/vmw_vsock/virtio_transport.c        | 25 +++++++++++++----
net/vmw_vsock/virtio_transport_common.c |  3 +-
4 files changed, 59 insertions(+), 21 deletions(-)
[PATCH v2 0/8] vsock/virtio: SKB allocation improvements
Posted by Will Deacon 3 months, 1 week ago
Hello again,

Here is version two of the patches I previously posted here:

  https://lore.kernel.org/r/20250625131543.5155-1-will@kernel.org

Changes since v1 include:

  * Remove virtio_vsock_alloc_skb_with_frags() and instead push decision
    to allocate nonlinear SKBs into virtio_vsock_alloc_skb()

  * Remove VIRTIO_VSOCK_DEFAULT_RX_BUF_SIZE and inline its definition
    along with a comment

  * Validate the length advertised by the packet header on the guest
    receive path

  * Minor tweaks to the commit messages and addition of stable tags

Thanks to Stefano for all the review feedback so far.

Cheers,

Will

Cc: Keir Fraser <keirf@google.com>
Cc: Steven Moreland <smoreland@google.com>
Cc: Frederick Mayle <fmayle@google.com>
Cc: Stefan Hajnoczi <stefanha@redhat.com>
Cc: Stefano Garzarella <sgarzare@redhat.com>
Cc: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Jason Wang <jasowang@redhat.com>
Cc: "Eugenio Pérez" <eperezma@redhat.com>
Cc: linux-kernel@vger.kernel.org 
Cc: netdev@vger.kernel.org 
Cc: virtualization@lists.linux.dev

--->8

Will Deacon (8):
  vhost/vsock: Avoid allocating arbitrarily-sized SKBs
  vsock/virtio: Validate length in packet header before skb_put()
  vsock/virtio: Move length check to callers of
    virtio_vsock_skb_rx_put()
  vsock/virtio: Resize receive buffers so that each SKB fits in a page
  vsock/virtio: Add vsock helper for linear SKB allocation
  vhost/vsock: Allocate nonlinear SKBs for handling large receive
    buffers
  vsock/virtio: Rename virtio_vsock_skb_rx_put() to
    virtio_vsock_skb_put()
  vsock/virtio: Allocate nonlinear SKBs for handling large transmit
    buffers

 drivers/vhost/vsock.c                   | 15 +++++-----
 include/linux/virtio_vsock.h            | 37 +++++++++++++++++++------
 net/vmw_vsock/virtio_transport.c        | 25 +++++++++++++----
 net/vmw_vsock/virtio_transport_common.c |  3 +-
 4 files changed, 59 insertions(+), 21 deletions(-)

-- 
2.50.0.727.gbf7dc18ff4-goog

Re: [PATCH v2 0/8] vsock/virtio: SKB allocation improvements
Posted by Lei Yang 3 months ago
I tested this series of patches with virtio-net regression tests,
everything works fine.

Tested-by: Lei Yang <leiyang@redhat.com>

On Wed, Jul 2, 2025 at 12:48 AM Will Deacon <will@kernel.org> wrote:
>
> Hello again,
>
> Here is version two of the patches I previously posted here:
>
>   https://lore.kernel.org/r/20250625131543.5155-1-will@kernel.org
>
> Changes since v1 include:
>
>   * Remove virtio_vsock_alloc_skb_with_frags() and instead push decision
>     to allocate nonlinear SKBs into virtio_vsock_alloc_skb()
>
>   * Remove VIRTIO_VSOCK_DEFAULT_RX_BUF_SIZE and inline its definition
>     along with a comment
>
>   * Validate the length advertised by the packet header on the guest
>     receive path
>
>   * Minor tweaks to the commit messages and addition of stable tags
>
> Thanks to Stefano for all the review feedback so far.
>
> Cheers,
>
> Will
>
> Cc: Keir Fraser <keirf@google.com>
> Cc: Steven Moreland <smoreland@google.com>
> Cc: Frederick Mayle <fmayle@google.com>
> Cc: Stefan Hajnoczi <stefanha@redhat.com>
> Cc: Stefano Garzarella <sgarzare@redhat.com>
> Cc: "Michael S. Tsirkin" <mst@redhat.com>
> Cc: Jason Wang <jasowang@redhat.com>
> Cc: "Eugenio Pérez" <eperezma@redhat.com>
> Cc: linux-kernel@vger.kernel.org
> Cc: netdev@vger.kernel.org
> Cc: virtualization@lists.linux.dev
>
> --->8
>
> Will Deacon (8):
>   vhost/vsock: Avoid allocating arbitrarily-sized SKBs
>   vsock/virtio: Validate length in packet header before skb_put()
>   vsock/virtio: Move length check to callers of
>     virtio_vsock_skb_rx_put()
>   vsock/virtio: Resize receive buffers so that each SKB fits in a page
>   vsock/virtio: Add vsock helper for linear SKB allocation
>   vhost/vsock: Allocate nonlinear SKBs for handling large receive
>     buffers
>   vsock/virtio: Rename virtio_vsock_skb_rx_put() to
>     virtio_vsock_skb_put()
>   vsock/virtio: Allocate nonlinear SKBs for handling large transmit
>     buffers
>
>  drivers/vhost/vsock.c                   | 15 +++++-----
>  include/linux/virtio_vsock.h            | 37 +++++++++++++++++++------
>  net/vmw_vsock/virtio_transport.c        | 25 +++++++++++++----
>  net/vmw_vsock/virtio_transport_common.c |  3 +-
>  4 files changed, 59 insertions(+), 21 deletions(-)
>
> --
> 2.50.0.727.gbf7dc18ff4-goog
>
>
Re: [PATCH v2 0/8] vsock/virtio: SKB allocation improvements
Posted by Will Deacon 2 months, 3 weeks ago
On Fri, Jul 04, 2025 at 05:50:16PM +0800, Lei Yang wrote:
> I tested this series of patches with virtio-net regression tests,
> everything works fine.
> 
> Tested-by: Lei Yang <leiyang@redhat.com>

Thanks, but this series doesn't touch virtio-net: it's purely about
the virtio transport for vsock. Do the virtio-net regression tests
exercise that?

Cheers,

Will