)]}'
{
  "commit": "b5490077274482efde57a50b060b99bc839acd45",
  "tree": "dae1b67fa7b1c18d116fe97765bad1e52786e7aa",
  "parents": [
    "bf4ede014ea886b71ef71368738da35b316cb7c0"
  ],
  "author": {
    "name": "Tejun Heo",
    "email": "tj@kernel.org",
    "time": "Fri Aug 03 10:30:46 2012 -0700"
  },
  "committer": {
    "name": "Tejun Heo",
    "email": "tj@kernel.org",
    "time": "Fri Aug 03 10:30:46 2012 -0700"
  },
  "message": "workqueue: introduce WORK_OFFQ_FLAG_*\n\nLow WORK_STRUCT_FLAG_BITS bits of work_struct-\u003edata contain\nWORK_STRUCT_FLAG_* and flush color.  If the work item is queued, the\nrest point to the cpu_workqueue with WORK_STRUCT_CWQ set; otherwise,\nWORK_STRUCT_CWQ is clear and the bits contain the last CPU number -\neither a real CPU number or one of WORK_CPU_*.\n\nScheduled addition of mod_delayed_work[_on]() requires an additional\nflag, which is used only while a work item is off queue.  There are\nmore than enough bits to represent off-queue CPU number on both 32 and\n64bits.  This patch introduces WORK_OFFQ_FLAG_* which occupy the lower\npart of the @work-\u003edata high bits while off queue.  This patch doesn\u0027t\ndefine any actual OFFQ flag yet.\n\nOff-queue CPU number is now shifted by WORK_OFFQ_CPU_SHIFT, which adds\nthe number of bits used by OFFQ flags to WORK_STRUCT_FLAG_SHIFT, to\nmake room for OFFQ flags.\n\nTo avoid shift width warning with large WORK_OFFQ_FLAG_BITS, ulong\ncast is added to WORK_STRUCT_NO_CPU and, just in case, BUILD_BUG_ON()\nto check that there are enough bits to accomodate off-queue CPU number\nis added.\n\nThis patch doesn\u0027t make any functional difference.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ab95fef38d5684d33fa9b56fcd70384c3dce0d79",
      "old_mode": 33188,
      "old_path": "include/linux/workqueue.h",
      "new_id": "f562674db4042add356d356d9569209209134817",
      "new_mode": 33188,
      "new_path": "include/linux/workqueue.h"
    },
    {
      "type": "modify",
      "old_id": "0f50f4078e367a177675d7fc921a44f33e0aece4",
      "old_mode": 33188,
      "old_path": "kernel/workqueue.c",
      "new_id": "eeae77079483266e14699f565f2b8f0410606094",
      "new_mode": 33188,
      "new_path": "kernel/workqueue.c"
    }
  ]
}
