Commit e0515f89 authored by David Dai's avatar David Dai Committed by Chromeos LUCI
Browse files

CHROMIUM: FROMLIST: sched/fair: Add util_guest for tasks



For virtualization usecases, util_est and util_avg currently tracked
on the host aren't sufficient to accurately represent the workload on
vCPU threads, which results in poor frequency selection and performance.
For example, when a large workload migrates from a busy vCPU thread to
an idle vCPU thread, it incurs additional DVFS ramp-up latencies
as util accumulates.

Introduce a new "util_guest" member as an additional PELT signal that's
independently updated by the guest. When used, it's max aggregated to
provide a boost to both task_util and task_util_est.

Updating task_util and task_util_est will ensure:
-Better task placement decisions for vCPU threads on the host
-Correctly updating util_est.ewma during dequeue
-Additive util with other threads on the same runqueue for more
accurate frequency responses

Co-developed-by: default avatarSaravana Kannan <saravanak@google.com>
Signed-off-by: default avatarSaravana Kannan <saravanak@google.com>
Signed-off-by: default avatarDavid Dai <davidai@google.com>
(am from https://patchwork.kernel.org/patch/13195195/)
(also found at https://lore.kernel.org/r/20230331014356.1033759-2-davidai@google.com

)

BUG=b:249685960
TEST=Build
UPSTREAM-TASK=b:256983979

Change-Id: I982405981ecd7c10d61d53d146f33822b65481c0
Signed-off-by: default avatarMasami Hiramatsu <mhiramat@google.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/4236480


Reviewed-by: default avatarSuleiman Souhlal <suleiman@chromium.org>
Reviewed-by: default avatarSean Paul <sean@poorly.run>
parent cd67e98e
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment