]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
Replace max_t() with sub_positive() in dequeue_entity_load_avg()
authorGayatri Vasudevan <gayatri.vasudevan@oracle.com>
Mon, 27 Nov 2017 22:43:16 +0000 (14:43 -0800)
committerChuck Anderson <chuck.anderson@oracle.com>
Mon, 11 Dec 2017 04:41:41 +0000 (20:41 -0800)
Orabug: 27026563

This patch replaces max_t() with sub_positive() to prevent intermediate
values getting stored in cfs_rq->runnable_load_avg/runnable_load_sum.
This patch has been partially cherry picked from commit c7b50216818e
("sched/fair: Remove se->load.weight from se->avg.load_sum")

Signed-off-by: Gayatri Vasudevan <gayatri.vasudevan@oracle.com>
Reviewed-by: Aruna Ramakrishna <aruna.ramakrishna@oracle.com>
kernel/sched/fair.c

index daca92d9cbb5243ffc6eb09e651bac23a1bfd5e5..e25be521f06f9d971184062a422308f60d3b63f5 100644 (file)
@@ -2748,10 +2748,8 @@ dequeue_entity_load_avg(struct cfs_rq *cfs_rq, struct sched_entity *se)
 {
        update_load_avg(se, 1);
 
-       cfs_rq->runnable_load_avg =
-               max_t(long, cfs_rq->runnable_load_avg - se->avg.load_avg, 0);
-       cfs_rq->runnable_load_sum =
-               max_t(s64, cfs_rq->runnable_load_sum - se->avg.load_sum, 0);
+       sub_positive(&cfs_rq->runnable_load_avg, se->avg.load_avg);
+       sub_positive(&cfs_rq->runnable_load_sum, se->avg.load_sum);
 }
 
 /*