)]}'
{
  "commit": "c377411f2494a931ff7facdbb3a6839b1266bcf6",
  "tree": "6846cdcec913f50839e3916856f78f7e059ff5fb",
  "parents": [
    "6e7676c1a76aed6e957611d8d7a9e5592e23aeba"
  ],
  "author": {
    "name": "Eric Dumazet",
    "email": "eric.dumazet@gmail.com",
    "time": "Tue Apr 27 15:13:20 2010 -0700"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@davemloft.net",
    "time": "Tue Apr 27 15:13:20 2010 -0700"
  },
  "message": "net: sk_add_backlog() take rmem_alloc into account\n\nCurrent socket backlog limit is not enough to really stop DDOS attacks,\nbecause user thread spend many time to process a full backlog each\nround, and user might crazy spin on socket lock.\n\nWe should add backlog size and receive_queue size (aka rmem_alloc) to\npace writers, and let user run without being slow down too much.\n\nIntroduce a sk_rcvqueues_full() helper, to avoid taking socket lock in\nstress situations.\n\nUnder huge stress from a multiqueue/RPS enabled NIC, a single flow udp\nreceiver can now process ~200.000 pps (instead of ~100 pps before the\npatch) on a 8 core machine.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "07822280d9536d2d0429f1784a599773c9081f73",
      "old_mode": 33188,
      "old_path": "include/net/sock.h",
      "new_id": "cf12b1e61fa6062de8e7d421f6dd2404c87d4c05",
      "new_mode": 33188,
      "new_path": "include/net/sock.h"
    },
    {
      "type": "modify",
      "old_id": "58ebd146ce5ae95a4b510e37af48a927f95b0da2",
      "old_mode": 33188,
      "old_path": "net/core/sock.c",
      "new_id": "51041759517e2dc461134471ded4306f5e3eca6b",
      "new_mode": 33188,
      "new_path": "net/core/sock.c"
    },
    {
      "type": "modify",
      "old_id": "fa3d2874db41283c7f6a3c85acfaa18e8094158a",
      "old_mode": 33188,
      "old_path": "net/ipv4/udp.c",
      "new_id": "63eb56b2d873e1455b8e7e45c2aaf6b22d8650a9",
      "new_mode": 33188,
      "new_path": "net/ipv4/udp.c"
    },
    {
      "type": "modify",
      "old_id": "2850e35cee3d5ce65f132f4c18c424dd87244048",
      "old_mode": 33188,
      "old_path": "net/ipv6/udp.c",
      "new_id": "3ead20ad9d07b69a74ca1029bad44132079d2194",
      "new_mode": 33188,
      "new_path": "net/ipv6/udp.c"
    },
    {
      "type": "modify",
      "old_id": "f34adcca8a8ce042e85ec69e972c2e792251a640",
      "old_mode": 33188,
      "old_path": "net/sctp/socket.c",
      "new_id": "13d8229f3a9c58a5ba7705b76119ca5f96e81c5d",
      "new_mode": 33188,
      "new_path": "net/sctp/socket.c"
    }
  ]
}
