@@ -3094,7 +3094,7 @@ static void reweight_entity(struct cfs_rq *cfs_rq, struct sched_entity *se,
3094
3094
3095
3095
#ifdef CONFIG_SMP
3096
3096
do {
3097
- u32 divider = LOAD_AVG_MAX - 1024 + se -> avg . period_contrib ;
3097
+ u32 divider = get_pelt_divider ( & se -> avg ) ;
3098
3098
3099
3099
se -> avg .load_avg = div_u64 (se_weight (se ) * se -> avg .load_sum , divider );
3100
3100
} while (0 );
@@ -3440,16 +3440,18 @@ static inline void
3440
3440
update_tg_cfs_util (struct cfs_rq * cfs_rq , struct sched_entity * se , struct cfs_rq * gcfs_rq )
3441
3441
{
3442
3442
long delta = gcfs_rq -> avg .util_avg - se -> avg .util_avg ;
3443
- /*
3444
- * cfs_rq->avg.period_contrib can be used for both cfs_rq and se.
3445
- * See ___update_load_avg() for details.
3446
- */
3447
- u32 divider = LOAD_AVG_MAX - 1024 + cfs_rq -> avg .period_contrib ;
3443
+ u32 divider ;
3448
3444
3449
3445
/* Nothing to update */
3450
3446
if (!delta )
3451
3447
return ;
3452
3448
3449
+ /*
3450
+ * cfs_rq->avg.period_contrib can be used for both cfs_rq and se.
3451
+ * See ___update_load_avg() for details.
3452
+ */
3453
+ divider = get_pelt_divider (& cfs_rq -> avg );
3454
+
3453
3455
/* Set new sched_entity's utilization */
3454
3456
se -> avg .util_avg = gcfs_rq -> avg .util_avg ;
3455
3457
se -> avg .util_sum = se -> avg .util_avg * divider ;
@@ -3463,16 +3465,18 @@ static inline void
3463
3465
update_tg_cfs_runnable (struct cfs_rq * cfs_rq , struct sched_entity * se , struct cfs_rq * gcfs_rq )
3464
3466
{
3465
3467
long delta = gcfs_rq -> avg .runnable_avg - se -> avg .runnable_avg ;
3466
- /*
3467
- * cfs_rq->avg.period_contrib can be used for both cfs_rq and se.
3468
- * See ___update_load_avg() for details.
3469
- */
3470
- u32 divider = LOAD_AVG_MAX - 1024 + cfs_rq -> avg .period_contrib ;
3468
+ u32 divider ;
3471
3469
3472
3470
/* Nothing to update */
3473
3471
if (!delta )
3474
3472
return ;
3475
3473
3474
+ /*
3475
+ * cfs_rq->avg.period_contrib can be used for both cfs_rq and se.
3476
+ * See ___update_load_avg() for details.
3477
+ */
3478
+ divider = get_pelt_divider (& cfs_rq -> avg );
3479
+
3476
3480
/* Set new sched_entity's runnable */
3477
3481
se -> avg .runnable_avg = gcfs_rq -> avg .runnable_avg ;
3478
3482
se -> avg .runnable_sum = se -> avg .runnable_avg * divider ;
@@ -3500,7 +3504,7 @@ update_tg_cfs_load(struct cfs_rq *cfs_rq, struct sched_entity *se, struct cfs_rq
3500
3504
* cfs_rq->avg.period_contrib can be used for both cfs_rq and se.
3501
3505
* See ___update_load_avg() for details.
3502
3506
*/
3503
- divider = LOAD_AVG_MAX - 1024 + cfs_rq -> avg . period_contrib ;
3507
+ divider = get_pelt_divider ( & cfs_rq -> avg ) ;
3504
3508
3505
3509
if (runnable_sum >= 0 ) {
3506
3510
/*
@@ -3646,7 +3650,7 @@ update_cfs_rq_load_avg(u64 now, struct cfs_rq *cfs_rq)
3646
3650
3647
3651
if (cfs_rq -> removed .nr ) {
3648
3652
unsigned long r ;
3649
- u32 divider = LOAD_AVG_MAX - 1024 + sa -> period_contrib ;
3653
+ u32 divider = get_pelt_divider ( & cfs_rq -> avg ) ;
3650
3654
3651
3655
raw_spin_lock (& cfs_rq -> removed .lock );
3652
3656
swap (cfs_rq -> removed .util_avg , removed_util );
@@ -3701,7 +3705,7 @@ static void attach_entity_load_avg(struct cfs_rq *cfs_rq, struct sched_entity *s
3701
3705
* cfs_rq->avg.period_contrib can be used for both cfs_rq and se.
3702
3706
* See ___update_load_avg() for details.
3703
3707
*/
3704
- u32 divider = LOAD_AVG_MAX - 1024 + cfs_rq -> avg . period_contrib ;
3708
+ u32 divider = get_pelt_divider ( & cfs_rq -> avg ) ;
3705
3709
3706
3710
/*
3707
3711
* When we attach the @se to the @cfs_rq, we must align the decay
0 commit comments