Due to slow-mo 240fps does not enable GTNR, set the lower TNR frequency 111MHz for it to optimize power.
Bug: 349707814
Test: Build pass, Boot to home
Test: It will save ~15mW without frame drop impact for 240fps.
(https://docs.google.com/spreadsheets/d/18w2N4SGCjcD4ZF-1hzv9ZfysCTzLxOeacmLpdcPx5qU/edit?usp=sharing)
Flag: EXEMPT resource file change only
Change-Id: Ib25707a4ba0132cf6cc1f4956c7f86278e3d5bbc
Boosting kswapd's uclamp minimum value in the scheduler
allows kswapd more opportunities to remain in middle cores.
This change enhances kswapd's memory reclamation efficiency.
Bug: 351708752
Test: check kbnob value when the panel is on/off
Flag: EXEMPT device policy tuning
Change-Id: Ibed13a63237a4eb69392955cbb5f038b7c1e4501
Signed-off-by: Martin Liu <liumartin@google.com>
Port from ag/27949358 and ag/28274083
Currently, we enable PA_KILL always on camera launch. This CL puts this
feature behind a power boost profile which can only be triggered from
camera hal and is controlled by a mendel flag.
Bug: 356005553
Change-Id: I09ca12244c031524b8b99f8f8dc888ef7781cd08
Test: boot to home
Flag: EXEMPT resource only update
Port from ag/26822605, ag/26653806
We already have the CPU scheduler optimization for game mode to sustain
the power and perf, so remove the CPU thermal policy at lower
temperature to avoid the interfence on CPU scheduler.
Port from ag/26822605
We already have the CPU scheduler optimization for game mode to sustain
the power and perf, so keep PMU_POLL being disabled to avoid the interference on CPU scheduler.
Bug: 342968374
Change-Id: Icafaa731abe0541fbd40c6e4501c13ee09803175
Flag: No flag needed for config file
Test: boot to home
port from ag/27511024
Let sys group tasks will run less in big core by default.
Bug: 342968374
Change-Id: I3ba6f469caa4d0ddfdf2963182ebde53eba9d009
Test: build pass
Port from ag/27002783
Since the system is more reactive now when tasks are getting busier, set
DownRateLimitUs to 500us to avoid increasing power.
Also enable pertask iowait boost as util_avg will always start from
0 for forked tasks and this could impact io tasks that need additional
help to ensure to migrate to bigger core if they need more perf.
Bug: 353256081
Test: Local Genshin test
Flag: NONE powerhint change does not support flags
Change-Id: If08486732e8213a9d82982f305c42748cf002543
Port from 27901981
It's disabled by default.
Ensure camera and game mode explicitly disable it too as it is only
required when auto margins are enabled for now.
Ensure it is disabled when screen is off too as We don't want io
activities to cause wake up on bigger cores while screen is off.
Bug: 353256081
Test: Local Genshin test
Flag: NONE powerhint change does not support flags
Change-Id: Ic4ec943181885be2a788c2b8754e814826abdd24
Port from ag/26990115
Everything should be disabled by default.
Make sure camera and game explicitly disable them by default too.
Ensure the feature is disable when screen is idle.
Bug: 353256081
Test: Local Genshin test
Flag: NONE powerhint change does not support flags
Change-Id: I1425653c56a11b43219771961a5dc24b47b40421
Port from ag/26990116
So that we can change the default values without impacting it.
Bug: 353256081
Test: Local Genshin test
Flag: NONE powerhint change does not support flags
Change-Id: I7ab645d85563bb6ebc418b8d424c3a4b4504b926
UClamp.min of all threads in top app is set to mid core max capacity during photo capture, which will dispatch them to big core.
Critical threads of photo capture will be interrupted due to their lower priority, while other cores idle.
To deal with this situation,
prefer_idle mask to big/mid cores can reduce the idle in mid cores.
UClamp.min on nice can set UClamp.min of photo capture critical threads to mid core max capacity, while others as zero,
this can make critical threads run on big core without frequently interrupted.
By applying this, photo capture latency can be reduced with slight change of power consumption.
Refer to ag/28118299
Bug: 345601796
Bug: 342502377
Test: Build pass, Boot to home
Flag: NONE powerhint change does not support flags
Change-Id: I86e36c64de4fe02e9c04171edbbc642cac1d0c3c
Test: Build and power measurement
Bug: 336872050
Flag: NONE powerhint change does not support flags
Change-Id: Ibb49621729f966a83bcbb77d611e0c0e78545805
Refer to ag/28174403 and ag/28179628
Bug: 350111391
Bug: 342502377
Test: Build pass, Boot to home
Flag: NONE powerhint change does not support flags
Change-Id: Ie5fc7c0e7c10b070bebbdca9af212fb0c1b310d7
Reducing CPUDVFSHeadroom can help save power in 60fps and 240fps
use-cases once RT threads are enabled. Even without the RT patch
(ag/27725456), we can see savings without any impact to framedrop rate.
sync from ag/27765730 and ag/27778356
Bug: 342502377
Test: Build pass, Boot to home
Flag: NONE sync solution
Change-Id: Ib3ea575c8507c8e3ab331910176cb2245c1708fb
pa/2830448 removes the core ignorance logic in PMU and causes the
behavior of PMU to change. With the new PMU logic, we need to re-tune
all the SPC thresholds for camera use-cases. This CL adjusts SPC
thresholds accordingly, so that we do not have power regression once the
PMU change in the kernel is merged.
Refer to ag/27702721 and ag/27726436
Bug: 342502377
Test: Build pass, Boot to home
Change-Id: Ic8fd4eb4192774ba42e2cfbe5b567136c15a6357
Faceauth is pinning to the mid-core for this device. Adjust the power hint to boost the appropriate cluster.
Bug: 329893113
Change-Id: I7b0f228a1ecac523fee5b5dd607f27f99a608411
sync from ag/27280353
Set big core to group_cfs_skip_mask for sys group when screen is off,
so that sys group tasks will run less in big core.
Bug: 342968374
Test: boot to home
Change-Id: I4456641e8e99c83573887c4a3b56ba484b490773
This CL enables PMU feature during photo capture. With the new settings, we can achieve up to 120ms saving in capture latency, while paying a penalty of 60mW. However, even with the added power, we are still below the F10 numbers (go/f10-camera-power-gtw).
Refer to ag/27238472 and ag/27255676
Bug: 342502377
Test: GCA photo capture
Change-Id: Iefe755e64e2e5bd6858f13adb4be7533c6b3e611
With MulticamRoutingNode on RT, the performance is no longer impacted by
having CDPreferIdle disabled. Additionally, this CL reduces DSUMin to
610MHz, saving overall up to 50mW in CPU power.
Refer to ag/27091363 and ag/27105186
Bug: 342502377
Test: Build pass
Change-Id: I49c8a5aad237c76582388545ff83d44d440d84a0
This CL increase SPC threshold for little core to 55, and for mid core
to 32. Tests show that in a loaded scenario, framedrop rate can reduce
to almost zero, while not impacting the power in the unloaded (baseline)
scenario.
Refer to ag/27032799 and ag/27078536
Bug: 342502377
Test: Build pass
Change-Id: I9c50b58483cb5262c3550cb45907cbe522eb4e5a
SPC threshold is too low for both Little and Mid cores. This CL increases this
threshold to 55 for Little Core and to 30 for Mid core.
Test results show lower framedrop rate in presence of background load,
without having a negative impact on the power.
Refer to ag/26943567 and ag/27018139
Bug: 342502377
Test: Build pass
Change-Id: I593b9ca4f85e844ebacdb8606147d51c9d8926da
CAMERA_STREAMING_HIGH:
CPUSkipMask to 0x80
MemFreq to 1539000
Enable CDPreferIdle
CDCpuset to 0-6
CAMERA_STREAMING_STANDARD:
CPUSkipMask to 0x80
TAPreferIdle to 0
Enable CDPreferIdle
CDCpuset to 0-6
Refer to ag/26718992, ag/26787527 and ag/26710529
Bug: 342502377
Test: Build pass
Change-Id: Id1ba596588bf51c3847c0c5a9f9d72adc8888f19
Add the "UclampMax_EfficientBase" value to the ADPF config in the
powerhint.json to specify efficient core scheduling in the static
case, and "UclampMax_EfficientOffset" for the dynamic case, for this
device.
Bug: 277285195
Test: manual
Change-Id: I858da8b21739d946f21c9cdda2277f34723836f3
powerhint: port changes from p23
- Add DISPLAY_CHANGE powerhint
- Add more boosts to LAUNCH_EXTEND
- Remove unused idle target residency settings
powerhint: port migration margin settings from p23
Bug: 316035859
powerhint: port dvfs_headroom settings from p23
Bug: 322000346
powerhint: revert dvfs_headroom settings for camera
Bug: 329905546
Change set preferred idle mask to top-app
Set default value to 0x7f to exclude big core for all priorities, but
restore high and mid to 0xff when app launch.
Bug: 248621289
Test: Boot to home
Bug: 330085013
Change-Id: Iab5c9534c0f59bc2cf6dff6e90b0b97fcfa8ebc1
This is part of an optimization that limits the length and prevelance of
this power hint. Strict, ultra-agression minimizes power and latency
versus always-on mid aggression.
Bug: 297964952
Change-Id: I57a0d63d1846619e32cb6c9b8ff924aa6722a964
This is part of an optimization that limits the length and prevelance of
this power hint. Strict, ultra-agression minimizes power and latency
versus always-on mid aggression.
Bug: 297964952
Change-Id: I57a0d63d1846619e32cb6c9b8ff924aa6722a964
powerhint: set cpd target residency to 10ms
Correct the powerhint and thermal config
thermal: optimize thermal policy for camera mode
powerhint: port powerhints from zuma and update with latest hardware
Bug: 318455627
Test: boot to home
Change-Id: I3da635fb9015a5f35a4238e0e38da385570c11c8
Vendor sched procfs path hierarchy gets updated in kernel.
Update the paths in powerhint json file to match the change.
Bug: 289151587
Test: Manual
Change-Id: I347d736284b61a272e275f5145d89499873545bd