Skip to content

Commit ac24406

Browse files
committed
Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull scheduler fixes from Ingo Molnar: "A UP kernel cpufreq fix and a rt/dl scheduler corner case fix" * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: sched/rt, sched/dl: Don't push if task's scheduling class was changed sched/fair: Fix !CONFIG_SMP kernel cpufreq governor breakage
2 parents 2d0bd95 + 13b5ab0 commit ac24406

File tree

3 files changed

+10
-1
lines changed

3 files changed

+10
-1
lines changed

kernel/sched/deadline.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1394,6 +1394,7 @@ static struct rq *find_lock_later_rq(struct task_struct *task, struct rq *rq)
13941394
!cpumask_test_cpu(later_rq->cpu,
13951395
&task->cpus_allowed) ||
13961396
task_running(rq, task) ||
1397+
!dl_task(task) ||
13971398
!task_on_rq_queued(task))) {
13981399
double_unlock_balance(rq, later_rq);
13991400
later_rq = NULL;

kernel/sched/fair.c

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3030,7 +3030,14 @@ static int idle_balance(struct rq *this_rq);
30303030

30313031
#else /* CONFIG_SMP */
30323032

3033-
static inline void update_load_avg(struct sched_entity *se, int update_tg) {}
3033+
static inline void update_load_avg(struct sched_entity *se, int not_used)
3034+
{
3035+
struct cfs_rq *cfs_rq = cfs_rq_of(se);
3036+
struct rq *rq = rq_of(cfs_rq);
3037+
3038+
cpufreq_trigger_update(rq_clock(rq));
3039+
}
3040+
30343041
static inline void
30353042
enqueue_entity_load_avg(struct cfs_rq *cfs_rq, struct sched_entity *se) {}
30363043
static inline void

kernel/sched/rt.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1729,6 +1729,7 @@ static struct rq *find_lock_lowest_rq(struct task_struct *task, struct rq *rq)
17291729
!cpumask_test_cpu(lowest_rq->cpu,
17301730
tsk_cpus_allowed(task)) ||
17311731
task_running(rq, task) ||
1732+
!rt_task(task) ||
17321733
!task_on_rq_queued(task))) {
17331734

17341735
double_unlock_balance(rq, lowest_rq);

0 commit comments

Comments
 (0)