)]}'
{
  "commit": "c45d2ad4b85d127036e1998ca244da4935c6d629",
  "tree": "a7c700a9eb9cba7d6c042ca4e1e92f9c30cd18f7",
  "parents": [
    "e87d14935c0b860993738ff17bc7cc0b41a9eb34"
  ],
  "author": {
    "name": "Tejun Heo",
    "email": "tj@kernel.org",
    "time": "Fri Jul 13 22:16:45 2012 -0700"
  },
  "committer": {
    "name": "Dave Daynard",
    "email": "nardholio@gmail.com",
    "time": "Fri Apr 18 02:10:03 2014 -0400"
  },
  "message": "workqueue: reimplement WQ_HIGHPRI using a separate worker_pool\n\nWQ_HIGHPRI was implemented by queueing highpri work items at the head\nof the global worklist.  Other than queueing at the head, they weren\u0027t\nhandled differently; unfortunately, this could lead to execution\nlatency of a few seconds on heavily loaded systems.\n\nNow that workqueue code has been updated to deal with multiple\nworker_pools per global_cwq, this patch reimplements WQ_HIGHPRI using\na separate worker_pool.  NR_WORKER_POOLS is bumped to two and\ngcwq-\u003epools[0] is used for normal pri work items and -\u003epools[1] for\nhighpri.  Highpri workers get -20 nice level and has \u0027H\u0027 suffix in\ntheir names.  Note that this change increases the number of kworkers\nper cpu.\n\nPOOL_HIGHPRI_PENDING, pool_determine_ins_pos() and highpri chain\nwakeup code in process_one_work() are no longer used and removed.\n\nThis allows proper prioritization of highpri work items and removes\nhigh execution latency of highpri work items.\n\nv2: nr_running indexing bug in get_pool_nr_running() fixed.\n\nv3: Refreshed for the get_pool_nr_running() update in the previous\n    patch.\n\nChange-Id: Id843c0a425f51f84083786fbf413d999d35771b7\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReported-by: Josh Hunt \u003cjoshhunt00@gmail.com\u003e\nLKML-Reference: \u003cCAKA\u003dqzaHqwZ8eqpLNFjxnO2fX-tgAOjmpvxgBFjv6dJeQaOW1w@mail.gmail.com\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nCc: Fengguang Wu \u003cfengguang.wu@intel.com\u003e\nGit-commit: 3270476a6c0ce322354df8679652f060d66526dc\nGit-repo: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git\nSigned-off-by: Matt Wagantall \u003cmattw@codeaurora.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6072c9de1fd14bfc37701d36aef942c87827cf27",
      "old_mode": 33188,
      "old_path": "kernel/workqueue.c",
      "new_id": "66db46d67d3f3b217c57dd8530080f2b27f0a216",
      "new_mode": 33188,
      "new_path": "kernel/workqueue.c"
    }
  ]
}
