)]}'
{
  "commit": "72a3effaf633bcae9034b7e176bdbd78d64a71db",
  "tree": "b7a331527f1b15335a358f97809134f35587e57a",
  "parents": [
    "3c62f75aac7348ee262b1295cfcfeb3473f76815"
  ],
  "author": {
    "name": "Eric Dumazet",
    "email": "dada1@cosmosbay.com",
    "time": "Thu Nov 16 02:30:37 2006 -0800"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@sunset.davemloft.net",
    "time": "Sat Dec 02 21:21:44 2006 -0800"
  },
  "message": "[NET]: Size listen hash tables using backlog hint\n\nWe currently allocate a fixed size (TCP_SYNQ_HSIZE\u003d512) slots hash table for\neach LISTEN socket, regardless of various parameters (listen backlog for\nexample)\n\nOn x86_64, this means order-1 allocations (might fail), even for \u0027small\u0027\nsockets, expecting few connections. On the contrary, a huge server wanting a\nbacklog of 50000 is slowed down a bit because of this fixed limit.\n\nThis patch makes the sizing of listen hash table a dynamic parameter,\ndepending of :\n- net.core.somaxconn tunable (default is 128)\n- net.ipv4.tcp_max_syn_backlog tunable (default : 256, 1024 or 128)\n- backlog value given by user application  (2nd parameter of listen())\n\nFor large allocations (bigger than PAGE_SIZE), we use vmalloc() instead of\nkmalloc().\n\nWe still limit memory allocation with the two existing tunables (somaxconn \u0026\ntcp_max_syn_backlog). So for standard setups, this patch actually reduce RAM\nusage.\n\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f743a941a4f243d618fcb55c76d7f71b750a5669",
      "old_mode": 33188,
      "old_path": "include/net/request_sock.h",
      "new_id": "b5b023e79e5fddf3b55403c6fc3361bff1c85bb8",
      "new_mode": 33188,
      "new_path": "include/net/request_sock.h"
    },
    {
      "type": "modify",
      "old_id": "7a093d0aa0fed4642ecdb3637e03ed0bdbb2e234",
      "old_mode": 33188,
      "old_path": "include/net/tcp.h",
      "new_id": "246916c2321e91e1ec7e15eb3a1f9ceeda350c2b",
      "new_mode": 33188,
      "new_path": "include/net/tcp.h"
    },
    {
      "type": "modify",
      "old_id": "79ebd75fbe4dec5c57ddd34c4501c5858b04d8fb",
      "old_mode": 33188,
      "old_path": "net/core/request_sock.c",
      "new_id": "5f0818d815e6b700408f2dcea1986b87fdc09645",
      "new_mode": 33188,
      "new_path": "net/core/request_sock.c"
    },
    {
      "type": "modify",
      "old_id": "e08e7688a263c82d0aca759a0bf68afd30b12392",
      "old_mode": 33188,
      "old_path": "net/dccp/ipv4.c",
      "new_id": "0a5d68dbb41879a5a55f6ebe1a85702fb13769d9",
      "new_mode": 33188,
      "new_path": "net/dccp/ipv4.c"
    },
    {
      "type": "modify",
      "old_id": "72cbdcfc2c65e1ab8a1927c710fbfd8b82daa8e1",
      "old_mode": 33188,
      "old_path": "net/dccp/proto.c",
      "new_id": "047d170a363aee6002f55db35ee5045a18e4376c",
      "new_mode": 33188,
      "new_path": "net/dccp/proto.c"
    },
    {
      "type": "modify",
      "old_id": "edcf0932ac6de06a96c0dc9699d662cf5539a140",
      "old_mode": 33188,
      "old_path": "net/ipv4/af_inet.c",
      "new_id": "4a81d54a75690808b50946154bb8db0b700541fb",
      "new_mode": 33188,
      "new_path": "net/ipv4/af_inet.c"
    },
    {
      "type": "modify",
      "old_id": "96bbe2a0aa1b05e41fcd144e3b11a61b17d854ba",
      "old_mode": 33188,
      "old_path": "net/ipv4/inet_connection_sock.c",
      "new_id": "9d68837888d376d186e76d4eedf839d4ebb1bc29",
      "new_mode": 33188,
      "new_path": "net/ipv4/inet_connection_sock.c"
    },
    {
      "type": "modify",
      "old_id": "22ef8bd26620ab122d56ef2220ef2f43e9ab4442",
      "old_mode": 33188,
      "old_path": "net/ipv4/tcp_ipv4.c",
      "new_id": "5fbf96552cac9ced5d12b05805edd0e88541e591",
      "new_mode": 33188,
      "new_path": "net/ipv4/tcp_ipv4.c"
    },
    {
      "type": "modify",
      "old_id": "eb6d145ecfd785d572c2dc60e52f99097356405b",
      "old_mode": 33188,
      "old_path": "net/ipv6/tcp_ipv6.c",
      "new_id": "1a3c46c139f824c72887b0e5d31adccd12779ad4",
      "new_mode": 33188,
      "new_path": "net/ipv6/tcp_ipv6.c"
    }
  ]
}
