)]}'
{
  "commit": "98322f22eca889478045cf896b572250d03dc45f",
  "tree": "22a06e97ece02db900f7d4f496639582b828a4ee",
  "parents": [
    "8527bec548e01a29c6d1928d20d6d3be71861482"
  ],
  "author": {
    "name": "Eric Dumazet",
    "email": "dada1@cosmosbay.com",
    "time": "Mon Jan 26 21:35:35 2009 -0800"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@davemloft.net",
    "time": "Mon Jan 26 21:35:35 2009 -0800"
  },
  "message": "udp: optimize bind(0) if many ports are in use\n\ncommit 9088c5609584684149f3fb5b065aa7f18dcb03ff\n(udp: Improve port randomization) introduced a regression for UDP bind() syscall\nto null port (getting a random port) in case lot of ports are already in use.\n\nThis is because we do about 28000 scans of very long chains (220 sockets per chain),\nwith many spin_lock_bh()/spin_unlock_bh() calls.\n\nFix this using a bitmap (64 bytes for current value of UDP_HTABLE_SIZE)\nso that we scan chains at most once.\n\nInstead of 250 ms per bind() call, we get after patch a time of 2.9 ms \n\nBased on a report from Vitaly Mayatskikh\n\nReported-by: Vitaly Mayatskikh \u003cv.mayatskih@gmail.com\u003e\nSigned-off-by: Eric Dumazet \u003cdada1@cosmosbay.com\u003e\nTested-by: Vitaly Mayatskikh \u003cv.mayatskih@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "cf5ab0581ebac98ddf919f92083f7066aa0bf61f",
      "old_mode": 33188,
      "old_path": "net/ipv4/udp.c",
      "new_id": "b7faffe5c02984cccae813b3d32090fc0b66ff23",
      "new_mode": 33188,
      "new_path": "net/ipv4/udp.c"
    }
  ]
}
