New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 890398 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner:
Closed: Oct 5
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Feature



Sign in to add a comment

Do we want PELT_UTIL_HALFLIFE_32, PELT_UTIL_HALFLIFE_16, or PELT_UTIL_HALFLIFE_8?

Project Member Reported by diand...@chromium.org, Sep 28

Issue description

As Evan pointed out in <https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/1247067>, we have a choice to make.  This choice was introduced when we merged over the Android EAS patches.

I _believe_ that this choice affects all boards, not just those running EAS.  Someone can correct me if I'm wrong.  

---

Here's the description from the KConfig

---

choice
	prompt "Utilization's PELT half-Life"
	default PELT_UTIL_HALFLIFE_32
	help
	  Allows choosing one of the possible values for the PELT half-life to
	  be used for the update of the utilization of tasks and CPUs.
	  The half-life is the amount of [ms] required by the PELT signal to
	  build up to 50% utilization. The higher the half-life the longer it
	  takes for a task to be represented as a big one.

	  If not sure, use the default of 32 ms.

config PELT_UTIL_HALFLIFE_32
	bool "32 ms, default for server"

config PELT_UTIL_HALFLIFE_16
	bool "16 ms, suggested for interactive workloads"
	help
	  Use 16ms as PELT half-life value. This will increase the ramp-up and
	  decay of utlization and load twice as fast as for the default
	  configuration using 32ms.

config PELT_UTIL_HALFLIFE_8
	bool "8 ms, very fast"
	help
	  Use 8ms as PELT half-life value. This will increase the ramp-up and
	  decay of utlization and load four time as fast as for the default
	  configuration using 32ms.

endchoice

---

...right now we're getting the default (32).  Nearly all Chrome OS devices are about interactivity over server performance.  Should we move to 16?
 
Looks like the choice comes from commit 7ba0536d17ea701f26458a3d9fd2ee58ae98b3a9
    FROMLIST: sched/fair: add support to tune PELT ramp/decay timings

According to patchwork it doesn't look like it's going to land upstream as-is:
https://patchwork.kernel.org/patch/10331795/

I also looked at Android 4.14 and they still have this patch.  I didn't see anything in Android's public repos about later kernels.  I didn't see any defconfigs either.

I don't know much about this, but I do know that one of the reasons Android folks used WALT instead of PELT was because PELT was too slow to adapt to interactive workloads, I'm inclined to believe PELT_UTIL_HALFLIFE_16 is probably the right choice, but do we know if we're going to keep this patch in 4.19? 

Ideally I should get a 4.14 arm system up and do some benchmarking -- it's on my todo list.
This is part of the EAS code. It is in branch experimental/eas-dev in the Android repository at https://android.googlesource.com/kernel/common. As of the EAS port to 4.18, it is still there.

Presumably this means we'll get it with EAS, upstream or not.

re #3 thanks for the pointer to experimental/eas-dev.  I'm pretty sure we'll want HALFLIFE_16 -- otherwise not sure why they'd keep this patch.  I will try to get my system up and running and see if I can measure any difference. 
The patch in question is gone in the EAS port to 4.19. The only option left is a half life of 32, which is hardcoded.

If there is reason t believe that we need this option (and the associated patch) in chromeos-4.19 even though it has been dropped upstream, please let me know.

Status: WontFix (was: Untriaged)
ok if it's dropped in 4.19 (not surprising since patchwork says "superseded") then I'm going to close this

Sign in to add a comment