diff options
| author | Peter Zijlstra <peterz@infradead.org> | 2025-09-01 23:46:29 +0300 |
|---|---|---|
| committer | Ingo Molnar <mingo@kernel.org> | 2025-12-06 12:03:13 +0300 |
| commit | e38e5299747b23015b00b0109891815db44a2f30 (patch) | |
| tree | af74a14898a5053de88783cdf7f8ad5f1c3481cc | |
| parent | dde3763365d80398d1465214458d0c38cc32de9c (diff) | |
| download | linux-e38e5299747b23015b00b0109891815db44a2f30.tar.xz | |
sched/hrtick: Fix hrtick() vs. scheduling context
The sched_class::task_tick() method is called on the donor
sched_class, and sched_tick() hands it rq->donor as argument,
which is consistent.
However, while hrtick() uses the donor sched_class, it then passes
rq->curr, which is inconsistent. Fix it.
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Acked-by: John Stultz <jstultz@google.com>
Link: https://patch.msgid.link/20250918080205.442967033@infradead.org
| -rw-r--r-- | kernel/sched/core.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/sched/core.c b/kernel/sched/core.c index fc358c1b6ca9..1711e9e50100 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -878,7 +878,7 @@ static enum hrtimer_restart hrtick(struct hrtimer *timer) rq_lock(rq, &rf); update_rq_clock(rq); - rq->donor->sched_class->task_tick(rq, rq->curr, 1); + rq->donor->sched_class->task_tick(rq, rq->donor, 1); rq_unlock(rq, &rf); return HRTIMER_NORESTART; |
