)]}'
{
  "commit": "787a97f2ca2d1e79698cc295bb122d25eec2b454",
  "tree": "1a56d8d0ee7a4b0814f513879251369244caace4",
  "parents": [
    "c10d90b4ad7f0aafe7268e51d2c9e981099c4e93"
  ],
  "author": {
    "name": "Will Deacon",
    "email": "will@kernel.org",
    "time": "Thu Jun 19 16:52:33 2025 +0100"
  },
  "committer": {
    "name": "Will Deacon",
    "email": "will@kernel.org",
    "time": "Tue Jul 15 16:04:11 2025 +0100"
  },
  "message": "vsock/virtio: Allocate nonlinear SKBs for handling large transmit buffers\n\nWhen transmitting a vsock packet, virtio_transport_send_pkt_info() calls\nvirtio_transport_alloc_linear_skb() to allocate and fill SKBs with the\ntransmit data. Unfortunately, these are always linear allocations and\ncan therefore result in significant pressure on kmalloc() considering\nthat the maximum packet size (VIRTIO_VSOCK_MAX_PKT_BUF_SIZE +\nVIRTIO_VSOCK_SKB_HEADROOM) is a little over 64KiB, resulting in a 128KiB\nallocation for each packet.\n\nRework the vsock SKB allocation so that, for sizes with page order\ngreater than PAGE_ALLOC_COSTLY_ORDER, a nonlinear SKB is allocated\ninstead with the packet header in the SKB and the transmit data in the\nfragments. No that this affects both the vhost and virtio transports.\n\nReviewed-by: Stefano Garzarella \u003csgarzare@redhat.com\u003e\nSigned-off-by: Will Deacon \u003cwill@kernel.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c9eb7f7ac00d27061735b061c3b7913ad7db2231",
      "old_mode": 33188,
      "old_path": "net/vmw_vsock/virtio_transport_common.c",
      "new_id": "fe92e5fa95b4d36cde89839c45cfa68f2d27b804",
      "new_mode": 33188,
      "new_path": "net/vmw_vsock/virtio_transport_common.c"
    }
  ]
}
