)]}'
{
  "commit": "2613abe64fe48761d798942af8dc0ec90c804b22",
  "tree": "c0f75f40bbd005bdd9d5545209a9402715c4f381",
  "parents": [
    "8526100eebf9c56ff6fac2b80938b232bb687946"
  ],
  "author": {
    "name": "Paul Jakma",
    "email": "paul@quagga.net",
    "time": "Mon Jan 11 16:33:07 2010 +0000"
  },
  "committer": {
    "name": "Paul Jakma",
    "email": "paul@quagga.net",
    "time": "Wed Dec 08 16:53:09 2010 +0000"
  },
  "message": "lib: Thread scheduler should be fair and not let events starve I/O and timers\n\n* thread.c: (thread_fetch) the current scheduler will service events\n  indefinitely, ignoring I/O and timers, so long as there are events.\n  In other words, events can crowd out I/O and timers.  In theory this\n  shouldn\u0027t be a huge problem as events are generated only by timers\n  and I/O, however in practice it means normal-load behaviour is not as\n  useful a predictor of high-load behaviour as it should be.\n\n  Fix this by considering all the kinds of threads, in every run of the\n  scheduler.  For any given run, we prioritise events, however across\n  runs the scheduler should be fair.\n\n  This has been observed to give more stable inter-packet times in\n  testing of ospfd (i.e.  lower std-dev).\n\n (thread_process) new heler to queue all the given threads onto the ready\n list\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "af52b057a6f6b4c546392125d5cb05ebe18908b4",
      "old_mode": 33188,
      "old_path": "lib/thread.c",
      "new_id": "fb6fe375df9180eb896d0d8a3da993e3f7a313ab",
      "new_mode": 33188,
      "new_path": "lib/thread.c"
    }
  ]
}
