)]}'
{
  "commit": "190880dc790007a14911ef8c170af33a50a7a674",
  "tree": "8de89e02883f522cd5d730a416ce771fd2f23ed2",
  "parents": [
    "31a5976bb99f1875ebcfc29a6359f3a7ae81a795"
  ],
  "author": {
    "name": "paul",
    "email": "paul",
    "time": "Mon Nov 14 12:07:47 2005 +0000"
  },
  "committer": {
    "name": "paul",
    "email": "paul",
    "time": "Mon Nov 14 12:07:47 2005 +0000"
  },
  "message": "2005-11-14 Paul Jakma \u003cpaul.jakma@sun.com\u003e\n\n\t* (general) Add state to detect queue floods.  There\u0027s no sense\n\t  trying to be sparing of CPU resources, if the queue is\n\t  flooding and using ever more memory resources. we should just\n\t  get on with clearing the queue.\n\t  The sense of delay and hold were wrong way around, fix.\n\t* workqueue.h: (struct work_queue) Add status bitfield.  Add\n\t  \u0027flood\u0027 integer to workqueue spec.  Add runs_since_clear\n\t  counter to workqueue.\n\t* workqueue.c: (work_queue_new) set defaults for delay, hold\n\t  and flood.\n\t  (work_queue_add) initial schedule should use delay, not hold.\n\t  (show_work_queues) Print flood field, conserve whitespace.\n\t  (work_queue_unplug) use delay, not hold.\n\t  (work_queue_run) consecutive runs should be seperated by hold\n\t  time, not delay.\n\t  Keep track of number of consecutive runs, go into \u0027overdrive\u0027\n\t  if queue is being flooded, we can\u0027t avoid making heavy use of\n\t  resources, better to use CPU than ever more RAM.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "106de4772ccdc110fb82628cb6d538a8aa0a6718",
      "old_mode": 33188,
      "old_path": "lib/ChangeLog",
      "new_id": "b6407c4a68701a819b862db25a38232ebf42fe09",
      "new_mode": 33188,
      "new_path": "lib/ChangeLog"
    },
    {
      "type": "modify",
      "old_id": "bac413028f2247e0480eb6a8422db46aa0668c8c",
      "old_mode": 33188,
      "old_path": "lib/workqueue.c",
      "new_id": "c2ff10db1bcb7bd4ae319cbc9ad0d5b9956780ce",
      "new_mode": 33188,
      "new_path": "lib/workqueue.c"
    },
    {
      "type": "modify",
      "old_id": "626d8e6cb935edcb06a9cf779bb823ff360ebf38",
      "old_mode": 33188,
      "old_path": "lib/workqueue.h",
      "new_id": "15c72f62f325abd4d4e1108f9ba209c82bcdbfc9",
      "new_mode": 33188,
      "new_path": "lib/workqueue.h"
    }
  ]
}
