)]}'
{
  "commit": "d90bf5a976793edfa88d3bb2393f0231eb8ce1e5",
  "tree": "c664096ffb1f34413ef57e906b38a255bf57edd0",
  "parents": [
    "66ba886254edbbd9442d30f1eef6f6fb0145027d"
  ],
  "author": {
    "name": "Eric Dumazet",
    "email": "dada1@cosmosbay.com",
    "time": "Wed Nov 14 16:14:05 2007 -0800"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@davemloft.net",
    "time": "Wed Nov 14 16:14:05 2007 -0800"
  },
  "message": "[NET]: rt_check_expire() can take a long time, add a cond_resched()\n\nOn commit 39c90ece7565f5c47110c2fa77409d7a9478bd5b:\n\n\t[IPV4]: Convert rt_check_expire() from softirq processing to workqueue.\n\nwe converted rt_check_expire() from softirq to workqueue, allowing the\nfunction to perform all work it was supposed to do.\n\nWhen the IP route cache is big, rt_check_expire() can take a long time\nto run.  (default settings : 20% of the hash table is scanned at each\ninvocation)\n\nAdding cond_resched() helps giving cpu to higher priority tasks if\nnecessary.\n\nUsing a \"if (need_resched())\" test before calling \"cond_resched();\" is\nnecessary to avoid spending too much time doing the resched check.\n(My tests gave a time reduction from 88 ms to 25 ms per\nrt_check_expire() run on my i686 test machine)\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": "45651834e1e2193bcc537b18e04946dc36e194d6",
      "old_mode": 33188,
      "old_path": "net/ipv4/route.c",
      "new_id": "1bff9ed349ff5a9e5d14ba1f09888e304bd88950",
      "new_mode": 33188,
      "new_path": "net/ipv4/route.c"
    }
  ]
}
