)]}'
{
  "commit": "548c50cc45e6d61481055b905e461a1863bd8108",
  "tree": "95feb39e3efeab1e64e94b6e0e4e0f3dd902b460",
  "parents": [
    "5b0ffb34fba1d9e4c5c09647ec1787b50f8d61b8"
  ],
  "author": {
    "name": "Tejun Heo",
    "email": "tj@kernel.org",
    "time": "Tue May 09 16:57:07 2023 -1000"
  },
  "committer": {
    "name": "Tejun Heo",
    "email": "tj@kernel.org",
    "time": "Tue May 09 16:57:07 2023 -1000"
  },
  "message": "workqueue: Add pwq-\u003estats[] and a monitoring script\n\nCurrently, the only way to peer into workqueue operations is through\ntracing. While possible, it isn\u0027t easy or convenient to monitor\nper-workqueue behaviors over time this way. Let\u0027s add pwq-\u003estats[] that\ntrack relevant events and a drgn monitoring script -\ntools/workqueue/wq_monitor.py.\n\nIt\u0027s arguable whether this needs to be configurable. However, it currently\nonly has seven counters and the runtime overhead shouldn\u0027t be noticeable\ngiven that they\u0027re on pwq\u0027s which are per-cpu on per-cpu workqueues and\nper-numa-node on unbound ones. Let\u0027s keep it simple for the time being.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Lai Jiangshan \u003cjiangshanlai@gmail.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8ec4d6270b24e82c4fce3f6088dd334a6286dbbe",
      "old_mode": 33188,
      "old_path": "Documentation/core-api/workqueue.rst",
      "new_id": "a4bb2208100e65a3dc0d943c1ba09c7eb12a2d89",
      "new_mode": 33188,
      "new_path": "Documentation/core-api/workqueue.rst"
    },
    {
      "type": "modify",
      "old_id": "fa535d820093b0d7e7ff8e5762dbcc153882ef77",
      "old_mode": 33188,
      "old_path": "kernel/workqueue.c",
      "new_id": "09cbe85947cda8e29224315941c8f523a20e1cb8",
      "new_mode": 33188,
      "new_path": "kernel/workqueue.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "faea81df431c26b89bc44afba4427338c39ca3f2",
      "new_mode": 33188,
      "new_path": "tools/workqueue/wq_monitor.py"
    }
  ]
}
