)]}'
{
  "commit": "f86dcc5aa8c7908f2c287e7a211228df599e3e71",
  "tree": "1721c94d0254b337b0668b2e331771dfef4b142d",
  "parents": [
    "8a6dfd43d1891882f8ca05d73aa7735fb0edae3b"
  ],
  "author": {
    "name": "Eric Dumazet",
    "email": "eric.dumazet@gmail.com",
    "time": "Wed Oct 07 00:37:59 2009 +0000"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@davemloft.net",
    "time": "Wed Oct 07 22:00:22 2009 -0700"
  },
  "message": "udp: dynamically size hash tables at boot time\n\nUDP_HTABLE_SIZE was initialy defined to 128, which is a bit small for\nseveral setups.\n\n4000 active UDP sockets -\u003e 32 sockets per chain in average. An\nincoming frame has to lookup all sockets to find best match, so long\nchains hurt latency.\n\nInstead of a fixed size hash table that cant be perfect for every\nneeds, let UDP stack choose its table size at boot time like tcp/ip\nroute, using alloc_large_system_hash() helper\n\nAdd an optional boot parameter, uhash_entries\u003dx so that an admin can\nforce a size between 256 and 65536 if needed, like thash_entries and\nrhash_entries.\n\ndmesg logs two new lines :\n[    0.647039] UDP hash table entries: 512 (order: 0, 4096 bytes)\n[    0.647099] UDP Lite hash table entries: 512 (order: 0, 4096 bytes)\n\nMaximal size on 64bit arches would be 65536 slots, ie 1 MBytes for non\ndebugging spinlocks.\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": "6fa7292947e5c8d100d6e426013aa31aa421f115",
      "old_mode": 33188,
      "old_path": "Documentation/kernel-parameters.txt",
      "new_id": "02df20be7764e0bf076f5fff1d532e27126bdf49",
      "new_mode": 33188,
      "new_path": "Documentation/kernel-parameters.txt"
    },
    {
      "type": "modify",
      "old_id": "0cf5c4c0ec81fe1afb8b8604241555b881144792",
      "old_mode": 33188,
      "old_path": "include/linux/udp.h",
      "new_id": "832361e3e5966107c861bd6927b2133d049376e9",
      "new_mode": 33188,
      "new_path": "include/linux/udp.h"
    },
    {
      "type": "modify",
      "old_id": "f98abd2ce709bd5e784aa0ca79cd483a8ebbbbd5",
      "old_mode": 33188,
      "old_path": "include/net/udp.h",
      "new_id": "22aa2e7eb1d77e1cb075f79e190e36b8ee7aee01",
      "new_mode": 33188,
      "new_path": "include/net/udp.h"
    },
    {
      "type": "modify",
      "old_id": "6ec6a8a4a224236acae5393d997727c7804c07cb",
      "old_mode": 33188,
      "old_path": "net/ipv4/udp.c",
      "new_id": "194bcdc6d9fca80d1bd007827b8a96409ae9993a",
      "new_mode": 33188,
      "new_path": "net/ipv4/udp.c"
    },
    {
      "type": "modify",
      "old_id": "95248d7f75ec43f9952f78d24b3ff1beaaa3e331",
      "old_mode": 33188,
      "old_path": "net/ipv4/udplite.c",
      "new_id": "470c504b9554dab1d2a346c74dfeccd451cc2d3a",
      "new_mode": 33188,
      "new_path": "net/ipv4/udplite.c"
    },
    {
      "type": "modify",
      "old_id": "c6a303ec834cf71d20aaed0c32d2635477c4e52d",
      "old_mode": 33188,
      "old_path": "net/ipv6/udp.c",
      "new_id": "ff778c172ef20b4b554d4f9d1f9e985874716135",
      "new_mode": 33188,
      "new_path": "net/ipv6/udp.c"
    }
  ]
}
