)]}'
{
  "commit": "bdf30b82c65117478e8b49cbdab75ac292aa7497",
  "tree": "4b5e39d6cd36b2cc74e31b5bc5b50084d8ba529b",
  "parents": [
    "b175cf82b4cbc9612c7076c184a007edd7dd5a08"
  ],
  "author": {
    "name": "David Howells",
    "email": "dhowells@redhat.com",
    "time": "Fri Jun 09 08:39:10 2023 +0100"
  },
  "committer": {
    "name": "David Howells",
    "email": "dhowells@redhat.com",
    "time": "Fri Jun 09 10:50:38 2023 +0100"
  },
  "message": "kcm: Send multiple frags in one sendmsg()\n\nRewrite the AF_KCM transmission loop to send all the fragments in a single\nskb or frag_list-skb in one sendmsg() with MSG_SPLICE_PAGES set.  The list\nof fragments in each skb is conveniently a bio_vec[] that can just be\nattached to a BVEC iter.\n\nNote: I\u0027m working out the size of each fragment-skb by adding up bv_len for\nall the bio_vecs in skb-\u003efrags[] - but surely this information is recorded\nsomewhere?  For the skbs in head-\u003efrag_list, this is equal to\nskb-\u003edata_len, but not for the head.  head-\u003edata_len includes all the tail\nfrags too.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\ncc: Tom Herbert \u003ctom@herbertland.com\u003e\ncc: Tom Herbert \u003ctom@quantonium.net\u003e\ncc: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\ncc: Eric Dumazet \u003cedumazet@google.com\u003e\ncc: Jakub Kicinski \u003ckuba@kernel.org\u003e\ncc: Paolo Abeni \u003cpabeni@redhat.com\u003e\ncc: Jens Axboe \u003caxboe@kernel.dk\u003e\ncc: Matthew Wilcox \u003cwilly@infradead.org\u003e\ncc: netdev@vger.kernel.org\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "2d704f8f49059800908b45333e3cd8dd1075b45a",
      "old_mode": 33188,
      "old_path": "include/net/kcm.h",
      "new_id": "90279e5e09a5c0251aff6d1a72c5947bc55060f6",
      "new_mode": 33188,
      "new_path": "include/net/kcm.h"
    },
    {
      "type": "modify",
      "old_id": "3bcac1453f1075778804431a723ffc19ba59a898",
      "old_mode": 33188,
      "old_path": "net/kcm/kcmsock.c",
      "new_id": "d75d775e9462a8e0083ca3b60611dff8da3840d6",
      "new_mode": 33188,
      "new_path": "net/kcm/kcmsock.c"
    }
  ]
}
