)]}'
{
  "commit": "9a0b159ff18c8f6fcf982bb81e15a9ceb14db43a",
  "tree": "227dcf1362145ed7fb4c37d3915afc446ec525fe",
  "parents": [
    "c7a1c6e8004ab12a9c9bfdcb603f60f9bf4a3cee"
  ],
  "author": {
    "name": "Tejun Heo",
    "email": "tj@kernel.org",
    "time": "Mon Sep 14 22:12:34 2026 -1000"
  },
  "committer": {
    "name": "Tejun Heo",
    "email": "tj@kernel.org",
    "time": "Tue Sep 15 06:57:19 2026 -1000"
  },
  "message": "sched_ext: scx_qmap: Restore unused idle claims from ops.dispatch()\n\nscx_qmap tracks idle cids itself. pick_direct_dispatch_cid() claims a cid by\nclearing its bit and the task is inserted into that cid\u0027s local DSQ, which\nkicks the CPU. When the task does not arrive, for example because the insert\nfell back to the global DSQ after an affinity change, the CPU wakes, finds\nnothing and picks idle again. That is not an idle transition, so\nops.update_idle() is not called and the cid stays marked busy until an\nunrelated task runs on it.\n\nRestore the claim from ops.dispatch(). The kick guarantees a dispatch on the\nkicked CPU, and when it finds nothing to run with a NULL @prev, the CPU is\ngoing back to idle. Document the pattern in ops.update_idle(), which reports\nonly actual transitions.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nReviewed-by: Andrea Righi \u003carighi@nvidia.com\u003e\nCc: Andrea Righi \u003carighi@nvidia.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "076a351bb3f287b74bf836f659bead8ed304b67b",
      "old_mode": 33188,
      "old_path": "kernel/sched/ext/internal.h",
      "new_id": "0adaf649d5e023c469b5620b42efd989160de025",
      "new_mode": 33188,
      "new_path": "kernel/sched/ext/internal.h"
    },
    {
      "type": "modify",
      "old_id": "bda56c37acb54fe5e866e0e7c181d54c1af48044",
      "old_mode": 33188,
      "old_path": "tools/sched_ext/scx_qmap.bpf.c",
      "new_id": "67b7c01cae5505eec52197263b7d2613578d240f",
      "new_mode": 33188,
      "new_path": "tools/sched_ext/scx_qmap.bpf.c"
    }
  ]
}
