)]}'
{
  "commit": "4440095c8268c1a5e11577097d2be429cec036ca",
  "tree": "7e1ca48bcd8fd0b947a7cc0edf31c0af9bbc4ec3",
  "parents": [
    "f42ecb2808db5386f983d593a7c08d3ea3b94a27"
  ],
  "author": {
    "name": "Andi Kleen",
    "email": "ak@linux.intel.com",
    "time": "Wed Dec 23 21:00:20 2009 +0100"
  },
  "committer": {
    "name": "Andi Kleen",
    "email": "ak@linux.intel.com",
    "time": "Wed Dec 23 21:00:20 2009 +0100"
  },
  "message": "SYSCTL: Print binary sysctl warnings (nearly) only once\n\nWhen printing legacy sysctls print the warning message\nfor each of them only once.  This way there is a guarantee\nthe syslog won\u0027t be flooded for any sane program.\n\nThe original attempt at this made the tables non const and stored\nthe flag inline.\n\nLinus suggested using a separate hash table for this, this is based on a\ncode snippet from him.\n\nThe hash implies this is not exact and can sometimes not print a\nnew sysctl due to a hash collision, but in practice this should not\nbe a problem\n\nI used a FNV32 hash over the binary string with a 32byte bitmap. This\ngives relatively little collisions when all the predefined binary sysctls\nare hashed:\n\nsize 256\nbucket\nlength      number\n0:          [25]\n1:          [67]\n2:          [88]\n3:          [47]\n4:          [22]\n5:          [6]\n6:          [1]\n\nThe worst case is a single collision of 6 hash values.\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "112533d5fc08a2e91adec8d4242c8e241f796c89",
      "old_mode": 33188,
      "old_path": "kernel/sysctl_binary.c",
      "new_id": "8f5d16e0707a403bac2f30887e3b43538328c825",
      "new_mode": 33188,
      "new_path": "kernel/sysctl_binary.c"
    }
  ]
}
