)]}'
{
  "commit": "c65f7f00c587828e3d50737805a78f74804972de",
  "tree": "160f85e7d9ec1df2432b4dd3fae315812558bd10",
  "parents": [
    "b8259d9ad1d0f8d0c5ea0e37bb15080b0bd395b5"
  ],
  "author": {
    "name": "David S. Miller",
    "email": "davem@davemloft.net",
    "time": "Tue Jul 05 15:17:25 2005 -0700"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@davemloft.net",
    "time": "Tue Jul 05 15:17:25 2005 -0700"
  },
  "message": "[TCP]: Simplify SKB data portion allocation with NETIF_F_SG.\n\nThe ideal and most optimal layout for an SKB when doing\nscatter-gather is to put all the headers at skb-\u003edata, and\nall the user data in the page array.\n\nThis makes SKB splitting and combining extremely simple,\nespecially before a packet goes onto the wire the first\ntime.\n\nSo, when sk_stream_alloc_pskb() is given a zero size, make\nsure there is no skb_tailroom().  This is achieved by applying\nSKB_DATA_ALIGN() to the header length used here.\n\nNext, make select_size() in TCP output segmentation use a\nlength of zero when NETIF_F_SG is true on the outgoing\ninterface.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e593af5b1ecce5db772ae22a17521be6833dd699",
      "old_mode": 33188,
      "old_path": "include/net/sock.h",
      "new_id": "7b76f891ae2d4b9cdba1954dd02823c4eb3353a0",
      "new_mode": 33188,
      "new_path": "include/net/sock.h"
    },
    {
      "type": "modify",
      "old_id": "882436da9a3a74da59e22def22723fb208928a6b",
      "old_mode": 33188,
      "old_path": "net/ipv4/tcp.c",
      "new_id": "be354155b2f93331ac0071bfcb1af879fd2d46ff",
      "new_mode": 33188,
      "new_path": "net/ipv4/tcp.c"
    }
  ]
}
