summaryrefslogtreecommitdiff
path: root/net/wireless
diff options
context:
space:
mode:
authorDawei Li <daweilics@gmail.com>2024-03-14 18:59:16 -0700
committerIngo Molnar <mingo@kernel.org>2024-05-17 09:49:44 +0200
commit72bffbf57c5247ac6146d1103ef42e9f8d094bc8 (patch)
tree2eaf427114098793768a7a252c9a49690e76799f /net/wireless
parent0f1c74befa656305ecc85c954dc31f84c1cc26e1 (diff)
sched/fair: Fix initial util_avg calculation
Change se->load.weight to se_weight(se) in the calculation for the initial util_avg to avoid unnecessarily inflating the util_avg by 1024 times. The reason is that se->load.weight has the unit/scale as the scaled-up load, while cfs_rg->avg.load_avg has the unit/scale as the true task weight (as mapped directly from the task's nice/priority value). With CONFIG_32BIT, the scaled-up load is equal to the true task weight. With CONFIG_64BIT, the scaled-up load is 1024 times the true task weight. Thus, the current code may inflate the util_avg by 1024 times. The follow-up capping will not allow the util_avg value to go wild. But the calculation should have the correct logic. Signed-off-by: Dawei Li <daweilics@gmail.com> Signed-off-by: Ingo Molnar <mingo@kernel.org> Reviewed-by: Vincent Guittot <vincent.guittot@linaro.org> Reviewed-by: Vishal Chourasia <vishalc@linux.ibm.com> Link: https://lore.kernel.org/r/20240315015916.21545-1-daweilics@gmail.com
Diffstat (limited to 'net/wireless')
0 files changed, 0 insertions, 0 deletions