)]}'
{
  "commit": "fc975cfb36393db1db517fbbe366e550bcdcff14",
  "tree": "9d8251fc8b5a12b502ddb911f4901bcd325c4f34",
  "parents": [
    "009836b4fa52f92cba33618e773b1094affa8cd2"
  ],
  "author": {
    "name": "kuyo chang",
    "email": "kuyo.chang@mediatek.com",
    "time": "Wed Jul 02 10:12:25 2025 +0800"
  },
  "committer": {
    "name": "Peter Zijlstra",
    "email": "peterz@infradead.org",
    "time": "Fri Jul 04 10:35:56 2025 +0200"
  },
  "message": "sched/deadline: Fix dl_server runtime calculation formula\n\nIn our testing with 6.12 based kernel on a big.LITTLE system, we were\nseeing instances of RT tasks being blocked from running on the LITTLE\ncpus for multiple seconds of time, apparently by the dl_server. This\nfar exceeds the default configured 50ms per second runtime.\n\nThis is due to the fair dl_server runtime calculation being scaled\nfor frequency \u0026 capacity of the cpu.\n\nConsider the following case under a Big.LITTLE architecture:\nAssume the runtime is: 50,000,000 ns, and Frequency/capacity\nscale-invariance defined as below:\nFrequency scale-invariance: 100\nCapacity scale-invariance: 50\nFirst by Frequency scale-invariance,\nthe runtime is scaled to 50,000,000 * 100 \u003e\u003e 10 \u003d 4,882,812\nThen by capacity scale-invariance,\nit is further scaled to 4,882,812 * 50 \u003e\u003e 10 \u003d 238,418.\nSo it will scaled to 238,418 ns.\n\nThis smaller \"accounted runtime\" value is what ends up being\nsubtracted against the fair-server\u0027s runtime for the current period.\nThus after 50ms of real time, we\u0027ve only accounted ~238us against the\nfair servers runtime. This 209:1 ratio in this example means that on\nthe smaller cpu the fair server is allowed to continue running,\nblocking RT tasks, for over 10 seconds before it exhausts its supposed\n50ms of runtime.  And on other hardware configurations it can be even\nworse.\n\nFor the fair deadline_server, to prevent realtime tasks from being\nunexpectedly delayed, we really do want to use fixed time, and not\nscaled time for smaller capacity/frequency cpus. So remove the scaling\nfrom the fair server\u0027s accounting to fix this.\n\nFixes: a110a81c52a9 (\"sched/deadline: Deferrable dl server\")\nSuggested-by: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nSuggested-by: John Stultz \u003cjstultz@google.com\u003e\nSigned-off-by: kuyo chang \u003ckuyo.chang@mediatek.com\u003e\nSigned-off-by: Peter Zijlstra (Intel) \u003cpeterz@infradead.org\u003e\nAcked-by: Juri Lelli \u003cjuri.lelli@redhat.com\u003e\nAcked-by: John Stultz \u003cjstultz@google.com\u003e\nTested-by: John Stultz \u003cjstultz@google.com\u003e\nLink: https://lore.kernel.org/r/20250702021440.2594736-1-kuyo.chang@mediatek.com\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ad45a8fea245ee06e8e133d5729586ed2735ea44",
      "old_mode": 33188,
      "old_path": "kernel/sched/deadline.c",
      "new_id": "89019a14082642760beed872ee31219d351e0ef9",
      "new_mode": 33188,
      "new_path": "kernel/sched/deadline.c"
    }
  ]
}
