Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'sched_urgent_for_v6.18_rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull scheduler fix from Borislav Petkov:

- Make sure a CFS runqueue on a throttled hierarchy has its PELT clock
throttled otherwise task movement and manipulation would lead to
dangling cfs_rq references and an eventual crash

* tag 'sched_urgent_for_v6.18_rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
sched/fair: Start a cfs_rq on throttled hierarchy with PELT clock throttled

+12
+12
kernel/sched/fair.c
··· 6437 6437 6438 6438 cfs_rq->throttle_count = pcfs_rq->throttle_count; 6439 6439 cfs_rq->throttled_clock_pelt = rq_clock_pelt(cpu_rq(cpu)); 6440 + 6441 + /* 6442 + * It is not enough to sync the "pelt_clock_throttled" indicator 6443 + * with the parent cfs_rq when the hierarchy is not queued. 6444 + * Always join a throttled hierarchy with PELT clock throttled 6445 + * and leaf it to the first enqueue, or distribution to 6446 + * unthrottle the PELT clock. 6447 + */ 6448 + if (cfs_rq->throttle_count) 6449 + cfs_rq->pelt_clock_throttled = 1; 6440 6450 } 6441 6451 6442 6452 /* conditionally throttle active cfs_rq's from put_prev_entity() */ ··· 13197 13187 if (!cfs_rq_pelt_clock_throttled(cfs_rq)) 13198 13188 list_add_leaf_cfs_rq(cfs_rq); 13199 13189 } 13190 + 13191 + assert_list_leaf_cfs_rq(rq_of(cfs_rq)); 13200 13192 } 13201 13193 #else /* !CONFIG_FAIR_GROUP_SCHED: */ 13202 13194 static void propagate_entity_cfs_rq(struct sched_entity *se) { }