)]}'
{
  "commit": "d7e8883cfcf4851afe74fb380cc62b7fa9cf66ba",
  "tree": "1b513349c4f1c7edf7991de2016b3a2ed1083deb",
  "parents": [
    "8d4057a938481351dc690fbe23e8c72af08d5890"
  ],
  "author": {
    "name": "Eric Dumazet",
    "email": "edumazet@google.com",
    "time": "Mon Apr 30 08:10:34 2012 +0000"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@davemloft.net",
    "time": "Mon Apr 30 21:35:49 2012 -0400"
  },
  "message": "net: make GRO aware of skb-\u003ehead_frag\n\nGRO can check if skb to be merged has its skb-\u003ehead mapped to a page\nfragment, instead of a kmalloc() area.\n\nWe \u0027upgrade\u0027 skb-\u003ehead as a fragment in itself\n\nThis avoids the frag_list fallback, and permits to build true GRO skb\n(one sk_buff and up to 16 fragments), using less memory.\n\nThis reduces number of cache misses when user makes its copy, since a\nsingle sk_buff is fetched.\n\nThis is a followup of patch \"net: allow skb-\u003ehead to be a page fragment\"\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: Ilpo Järvinen \u003cilpo.jarvinen@helsinki.fi\u003e\nCc: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nCc: Maciej Żenczykowski \u003cmaze@google.com\u003e\nCc: Neal Cardwell \u003cncardwell@google.com\u003e\nCc: Tom Herbert \u003ctherbert@google.com\u003e\nCc: Jeff Kirsher \u003cjeffrey.t.kirsher@intel.com\u003e\nCc: Ben Hutchings \u003cbhutchings@solarflare.com\u003e\nCc: Matt Carlson \u003cmcarlson@broadcom.com\u003e\nCc: Michael Chan \u003cmchan@broadcom.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "e0b70e961e61b9de215058316ae6c706d3d0f27d",
      "old_mode": 33188,
      "old_path": "include/linux/netdevice.h",
      "new_id": "7f377fb8b527a3754cfdb92e7afa95f69bde2f7c",
      "new_mode": 33188,
      "new_path": "include/linux/netdevice.h"
    },
    {
      "type": "modify",
      "old_id": "9d28a22a8554b3e62932e72affc16ae9130599fe",
      "old_mode": 33188,
      "old_path": "include/linux/skbuff.h",
      "new_id": "2c75e98953b28128bd796b433feb5d17d77605a3",
      "new_mode": 33188,
      "new_path": "include/linux/skbuff.h"
    },
    {
      "type": "modify",
      "old_id": "501f3cc703dde39cc84a6df4dba3ae63a2c020f0",
      "old_mode": 33188,
      "old_path": "net/core/dev.c",
      "new_id": "a2be59fe6ab8d5d91370404930f474b760644b18",
      "new_mode": 33188,
      "new_path": "net/core/dev.c"
    },
    {
      "type": "modify",
      "old_id": "effa75d0e318aa2c477d8e3c25da38d80c6299b5",
      "old_mode": 33188,
      "old_path": "net/core/skbuff.c",
      "new_id": "09cc38651b2f49818121d7c5ebfefae497b4fa41",
      "new_mode": 33188,
      "new_path": "net/core/skbuff.c"
    }
  ]
}
