)]}'
{
  "commit": "345aa031207d02d7438c1aa96ed9315911ecd745",
  "tree": "e9003cc0010b081eb975e209baa2753e8996582a",
  "parents": [
    "64c8165b44a91c09b19afb4110610ed242286639"
  ],
  "author": {
    "name": "Jarek Poplawski",
    "email": "jarkao2@gmail.com",
    "time": "Tue Jul 07 19:39:16 2009 -0700"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@davemloft.net",
    "time": "Wed Jul 08 10:46:45 2009 -0700"
  },
  "message": "ipv4: Fix fib_trie rebalancing, part 4 (root thresholds)\n\nPawel Staszewski wrote:\n\u003cblockquote\u003e\nSome time ago i report this:\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d6648\n\nand now with 2.6.29 / 2.6.29.1 / 2.6.29.3 and 2.6.30 it back\ndmesg output:\noprofile: using NMI interrupt.\nFix inflate_threshold_root. Now\u003d15 size\u003d11 bits\n...\nFix inflate_threshold_root. Now\u003d15 size\u003d11 bits\n\ncat /proc/net/fib_triestat\nBasic info: size of leaf: 40 bytes, size of tnode: 56 bytes.\nMain:\n        Aver depth:     2.28\n        Max depth:      6\n        Leaves:         276539\n        Prefixes:       289922\n        Internal nodes: 66762\n          1: 35046  2: 13824  3: 9508  4: 4897  5: 2331  6: 1149  7: 5\n9: 1  18: 1\n        Pointers: 691228\nNull ptrs: 347928\nTotal size: 35709  kB\n\u003c/blockquote\u003e\n\nIt seems, the current threshold for root resizing is too aggressive,\nand it causes misleading warnings during big updates, but it might be\nalso responsible for memory problems, especially with non-preempt\nconfigs, when RCU freeing is delayed long after call_rcu.\n\nIt should be also mentioned that because of non-atomic changes during\nresizing/rebalancing the current lookup algorithm can miss valid leaves\nso it\u0027s additional argument to shorten these activities even at a cost\nof a minimally longer searching.\n\nThis patch restores values before the patch \"[IPV4]: fib_trie root\nnode settings\", commit: 965ffea43d4ebe8cd7b9fee78d651268dd7d23c5 from\nv2.6.22.\n\nPawel\u0027s report:\n\u003cblockquote\u003e\nI dont see any big change of (cpu load or faster/slower\nrouting/propagating routes from bgpd or something else) - in avg there\nis from 2% to 3% more of CPU load i dont know why but it is - i change\nfrom \"preempt\" to \"no preempt\" 3 times and check this my \"mpstat -P ALL\n1 30\"\nalways avg cpu load was from 2 to 3% more compared to \"no preempt\"\n[...]\ncat /proc/net/fib_triestat\nBasic info: size of leaf: 20 bytes, size of tnode: 36 bytes.\nMain:\n        Aver depth:     2.44\n        Max depth:      6\n        Leaves:         277814\n        Prefixes:       291306\n        Internal nodes: 66420\n          1: 32737  2: 14850  3: 10332  4: 4871  5: 2313  6: 942  7: 371  8: 3  17: 1\n        Pointers: 599098\nNull ptrs: 254865\nTotal size: 18067  kB\n\u003c/blockquote\u003e\n\nAccording to this and other similar reports average depth is slightly\nincreased (~0.2), and root nodes are shorter (log 17 vs. 18), but\nthere is no visible performance decrease. So, until memory handling is\nimproved or added parameters for changing this individually, this\npatch resets to safer defaults.\n\nReported-by: Pawel Staszewski \u003cpstaszewski@itcare.pl\u003e\nReported-by: Jorge Boncompte [DTI2] \u003cjorge@dti2.net\u003e\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nTested-by: Pawel Staszewski \u003cpstaszewski@itcare.pl\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "00a54b246dfed11ae46b4782e25a13ea3c8c3e61",
      "old_mode": 33188,
      "old_path": "net/ipv4/fib_trie.c",
      "new_id": "63c2fa7b68c4b922840fe883bd9bdf0e9a6c21c7",
      "new_mode": 33188,
      "new_path": "net/ipv4/fib_trie.c"
    }
  ]
}
