hc
2023-11-06 e3e12f52b214121840b44c91de5b3e5af5d3eb84
kernel/kernel/sched/rt.c
....@@ -45,8 +45,8 @@
4545
4646 raw_spin_lock_init(&rt_b->rt_runtime_lock);
4747
48
- hrtimer_init(&rt_b->rt_period_timer,
49
- CLOCK_MONOTONIC, HRTIMER_MODE_REL);
48
+ hrtimer_init(&rt_b->rt_period_timer, CLOCK_MONOTONIC,
49
+ HRTIMER_MODE_REL_HARD);
5050 rt_b->rt_period_timer.function = sched_rt_period_timer;
5151 }
5252
....@@ -1680,7 +1680,7 @@
16801680 static int pick_rt_task(struct rq *rq, struct task_struct *p, int cpu)
16811681 {
16821682 if (!task_running(rq, p) &&
1683
- cpumask_test_cpu(cpu, &p->cpus_allowed))
1683
+ cpumask_test_cpu(cpu, p->cpus_ptr))
16841684 return 1;
16851685
16861686 return 0;
....@@ -1833,7 +1833,7 @@
18331833 * Also make sure that it wasn't scheduled on its rq.
18341834 */
18351835 if (unlikely(task_rq(task) != rq ||
1836
- !cpumask_test_cpu(lowest_rq->cpu, &task->cpus_allowed) ||
1836
+ !cpumask_test_cpu(lowest_rq->cpu, task->cpus_ptr) ||
18371837 task_running(rq, task) ||
18381838 !rt_task(task) ||
18391839 !task_on_rq_queued(task))) {