)]}'
{
  "commit": "993772c70fda9d05299fc3a8ed9d1cba268870f1",
  "tree": "bbcbfeaec61f0afc33c9a57b69112f06942725b6",
  "parents": [
    "8f530e3bc3af125ac013732b5c54a3af2ad791a2"
  ],
  "author": {
    "name": "Eric Dumazet",
    "email": "edumazet@google.com",
    "time": "Thu Jun 14 06:42:44 2012 +0000"
  },
  "committer": {
    "name": "Greg Kroah-Hartman",
    "email": "gregkh@linuxfoundation.org",
    "time": "Mon Jul 16 09:03:48 2012 -0700"
  },
  "message": "net: remove skb_orphan_try()\n\n[ Upstream commit 62b1a8ab9b3660bb820d8dfe23148ed6cda38574 ]\n\nOrphaning skb in dev_hard_start_xmit() makes bonding behavior\nunfriendly for applications sending big UDP bursts : Once packets\npass the bonding device and come to real device, they might hit a full\nqdisc and be dropped. Without orphaning, the sender is automatically\nthrottled because sk-\u003esk_wmemalloc reaches sk-\u003esk_sndbuf (assuming\nsk_sndbuf is not too big)\n\nWe could try to defer the orphaning adding another test in\ndev_hard_start_xmit(), but all this seems of little gain,\nnow that BQL tends to make packets more likely to be parked\nin Qdisc queues instead of NIC TX ring, in cases where performance\nmatters.\n\nReverts commits :\nfc6055a5ba31 net: Introduce skb_orphan_try()\n87fd308cfc6b net: skb_tx_hash() fix relative to skb_orphan_try()\nand removes SKBTX_DRV_NEEDS_SK_REF flag\n\nReported-and-bisected-by: Jean-Michel Hautbois \u003cjhautbois@gmail.com\u003e\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nTested-by: Oliver Hartkopp \u003csocketcan@hartkopp.net\u003e\nAcked-by: Oliver Hartkopp \u003csocketcan@hartkopp.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c1689071fa2f9c65599ff40ea2683ac59dd54289",
      "old_mode": 33188,
      "old_path": "include/linux/skbuff.h",
      "new_id": "c1bae8dff774ee583741b853f16b464d088b60f6",
      "new_mode": 33188,
      "new_path": "include/linux/skbuff.h"
    },
    {
      "type": "modify",
      "old_id": "cde1b4a20f758fe8055f26a7f24b40f16767ae55",
      "old_mode": 33188,
      "old_path": "net/can/raw.c",
      "new_id": "46cca3a91d198093b86ea4d5701ecd42ce9dbce7",
      "new_mode": 33188,
      "new_path": "net/can/raw.c"
    },
    {
      "type": "modify",
      "old_id": "99e1d759f41ec42c6efc2dc3debbfc7dead6e88b",
      "old_mode": 33188,
      "old_path": "net/core/dev.c",
      "new_id": "533c586c64dbf9dc18a62d0f3e36753020319ba4",
      "new_mode": 33188,
      "new_path": "net/core/dev.c"
    },
    {
      "type": "modify",
      "old_id": "07d7d55a1b93af13013b23c361d8c2f7ff8382aa",
      "old_mode": 33188,
      "old_path": "net/iucv/af_iucv.c",
      "new_id": "cd6f7a991d8035bdfc6d883a8bcf21a433405030",
      "new_mode": 33188,
      "new_path": "net/iucv/af_iucv.c"
    }
  ]
}
