android_kernel_motorola_sm6375/kernel/power
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Abhijeet Dharmapurikar 79785b91dd power: em: correct increasing freq/power ratio
As freq increases freq/power should decrease, indicating nonlinearly
higher power is required for running at higher frequencies.

If freq/power increases, the cost associated with that
freq will be lower than its previous one, causing the energy
calculations to choose a cpu with that frequency over a cpu with
the previous lesser freq.

For some frequencies, if their voltage increment from the
previous ones is very small (or is the same), we could end up with
higher freq/power ratio. This is primarily because
of_dev_pm_opp_get_cpu_power() returns power in mW and looses precision.

But instead of addressing it, enforce the same cost as the previous
frequency.

The energy evaluation code prefers the previous cpu when the energy costs
are same as other candidates. By keeping the energy costs same in these
situations we are increasing the likely hood of selecting prev cpu even
if it results in a slight freq bump. In general, selecting prev cpu is
beneficial because it avoids warming up the caches at a different cpu.

Change-Id: Ic66ab18ba65f2917b73d9fbe92a39b743b9839a0
Signed-off-by: Abhijeet Dharmapurikar <adharmap@codeaurora.org>
2019-12-04 16:27:56 -08:00
..
autosleep.c PM / wakeup: Show wakeup sources stats in sysfs 2019-08-21 00:20:40 +02:00
console.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
energy_model.c power: em: correct increasing freq/power ratio 2019-12-04 16:27:56 -08:00
hibernate.c hibernate: Disable when the kernel is locked down 2019-08-19 21:54:15 -07:00
Kconfig pci-v5.3-changes 2019-07-15 20:44:49 -07:00
main.c PM: sleep: include <linux/pm_runtime.h> for pm_wq 2019-10-10 11:11:56 +02:00
Makefile Merge branch 'linux-mainline' into android-mainline-tmp 2019-05-03 12:22:22 -07:00
power.h PM: hibernate: powerpc: Expose pfn_is_nosave() prototype 2019-06-14 10:48:56 +02:00
poweroff.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 248 2019-06-19 17:09:08 +02:00
process.c Merge branch 'linux-mainline' into android-mainline-tmp 2019-05-03 12:22:22 -07:00
qos.c PM: QoS: Invalidate frequency QoS requests after removal 2019-11-20 10:46:42 +01:00
snapshot.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 428 2019-06-05 17:37:16 +02:00
suspend.c Merge Linus's 5.4-rc1-prerelease branch into android-mainline 2019-09-20 16:07:54 -07:00
suspend_test.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 428 2019-06-05 17:37:16 +02:00
swap.c kernel: power: swap: use kzalloc() instead of kmalloc() followed by memset() 2019-06-28 10:20:39 +02:00
user.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 428 2019-06-05 17:37:16 +02:00
wakelock.c PM / wakeup: Show wakeup sources stats in sysfs 2019-08-21 00:20:40 +02:00
wakeup_reason.c Merge branch 'linux-mainline' into android-mainline-tmp 2019-05-03 12:22:22 -07:00