Commit graph

79 commits

Author SHA1 Message Date
Yvonne Yip
0c57fb76e7 powerhint: Enable auto migration margins/dvfs headroom for game mode
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: 315748906
Test: build
Flag: NONE powerhint change does not support flags
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:61cf08366eb4e916beb1ad910754c8bc6c18bf14)
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:4d8c8dfade1027b7354af3c76dbe00894adfa5bd)
Merged-In: I03a83cbf7b0c6fdf1abd3c63ccb96a38350d17da
Change-Id: I03a83cbf7b0c6fdf1abd3c63ccb96a38350d17da
2024-07-23 00:12:22 +00:00
Yvonne Yip
3587e2c602 powerhint: Add nodes to control per-task iowait boost
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: 340534339
Test: build
Flag: NONE powerhint change does not support flags
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:dad48beaeb9f9fce8acb67c06bfd022e86ce0e0d)
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:51140ac43c0f5bd26357e6a26ba2f4914c70a2fe)
Merged-In: Ie9d20fe5ad6b423e8c26a36b7f01592040292ead
Change-Id: Ie9d20fe5ad6b423e8c26a36b7f01592040292ead
2024-07-23 00:12:09 +00:00
Yvonne Yip
8febd2f553 powerhint: Add nodes required to enable auto migration margins/dvfs headroom
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: 315748906
Test: build
Flag: NONE powerhint change does not support flags
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:bb4df08c9ea617625d25cf12bc60c41c173d996b)
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:b804969d8faa70065f9ed4a5ba841a607cbedb3b)
Merged-In: Ibd08cec303010e87057463f5aff737a5105e04b6
Change-Id: Ibd08cec303010e87057463f5aff737a5105e04b6
2024-07-23 00:11:56 +00:00
Yvonne Yip
03eae68a00 powerhint: Explicitly set DownRateLimitUs for camera
So that we can change the default values without impacting it.

Bug: 315748906powerhint: Explicitly set DownRateLimitUs for camera

So that we can change the default values without impacting it.

Bug: 315748906
Test: build
Flag: NONE powerhint change does not support flags
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:9084165d0d0f699f7cc3968dded4f71d4ec20a92)
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:62542ec65031c1cdf2e973c0d6eca3518d5f986c)
Merged-In: Ic14d51f0b5b512f5557d904d682e9f934bbab87f
Change-Id: Ic14d51f0b5b512f5557d904d682e9f934bbab87f
2024-07-23 00:11:41 +00:00
Pointer Kung
0e54cdcac6 Increase SPC thresholds based on the field data
Refer to ag/28174403

Bug: 350111391
Test: Build pass, Boot to home
Test: 30fps/120fps ~+20mW, 60fps ~+26mW without frame drop impact
https://docs.google.com/spreadsheets/d/1z_s2z_MjSYOcEKZbKdC6Pu0quoSDZDzn3bawaulInzo/edit?usp=sharing
Flag: EXEMPT bugfix
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:4d6418dc70944bbe9926cec6d3160a66604b1c67)
Merged-In: I686e5d45ac0595c93b766ea311cd390f4d3d7bd7
Change-Id: I686e5d45ac0595c93b766ea311cd390f4d3d7bd7
2024-07-12 03:44:43 +00:00
Lynn Yeh
8d58a44a51 Merge changes from topic "pmu_fix" into 24D1-dev am: 654892efc1
Original change: https://googleplex-android-review.googlesource.com/c/device/google/comet/+/27778356

Change-Id: Ifed654a7d45b2c4c7a3e4181882448e654d8f762
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-13 03:06:46 +00:00
Pointer Kung
950e4ca719 Update PMU thresholds with PMU ignorance logic disabled am: 6b22f33b50
Original change: https://googleplex-android-review.googlesource.com/c/device/google/comet/+/27726436

Change-Id: I2006be98429b3b48710d0e994337b229d62e08ba
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-13 03:06:41 +00:00
Vince Chiu
796c46dc00 Reduce CPUDVFSHeadroom for mid and big core (for 60fps and 240fps)
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

Bug: 341495529
Test: GCA
Change-Id: I8692df07c2a52115a497b7e71ccbe9638add1cc8
2024-06-12 23:43:46 +00:00
Pointer Kung
6b22f33b50 Update PMU thresholds with PMU ignorance logic disabled
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

Bug: 341495529
Test: Build pass, Boot to home
Test: With pa/2830448 and 30fps(ag/27631025)/60fps(ag/27725456) RT changes, it will increase ~40mW without frame drop impact to improve performace issue.
30fps/120fps test results (https://docs.google.com/spreadsheets/d/1yhYV8LUaraO8mt1cYNFhXj-QzNBkTTtc3xXh-ryH2Eo/edit?usp=sharing&resourcekey=0-xs3Qtufdju8eYOZDTAC7oQ)
60fps/240fps test results (https://docs.google.com/spreadsheets/d/1uiG4jCR9rsLuD7WseiaptpktbUAt5BLRnyN3Teg8JII/edit?usp=sharing&resourcekey=0-lBJxBct6NT_rtkp1brC4Vg)
Change-Id: Id7bd8704039d8a7f35bee93c491327fed3101211
2024-06-11 09:39:37 +08:00
Sam Paradis
3cbcddeca3 Switch Faceauth FACE_UNLOCK_BOOST Power Hint to Mid Cluster
Faceauth is pinning to the mid-core for this device. Adjust the power hint to boost the appropriate cluster.

Bug: 329893113
Change-Id: Ifcb27e61752ef5ddb8484888adc77b894f5a5cf8
2024-06-04 19:13:37 +00:00
Treehugger Robot
3797f412b1 Merge "Revert "powerhint: add proactive kill hint for camera launch"" into main 2024-05-30 03:39:47 +00:00
Minchan Kim
beed8e1a34 Revert "powerhint: add proactive kill hint for camera launch"
Revert submission 27473137-P24_PA_KILL_HINT_24Q4

Reason for revert: will merge after mid of June

Reverted changes: /q/submissionid:27473137-P24_PA_KILL_HINT_24Q4

Change-Id: Ic7a87141616ea44c30cf88493d2d46dbee8da014
Bug: 322916612
2024-05-30 00:59:16 +00:00
Minchan Kim
a4f776fff3 Merge "powerhint: add proactive kill hint for camera launch" into main 2024-05-28 17:01:59 +00:00
Pointer Kung
37033c37c6 [Camera] Update CPU DVFSHeadroom for CAMERA_STREAMING_STANDARD/PROJECT11 and CDPreferHighCap for Video Call
sync from ag/27120048 and ag/26555645

Bug: 343101802
Test: Build pass
Test: Save photo preview ~38mW and 30fps/120fps recording ~12mW without frame drop impact. (https://docs.google.com/spreadsheets/d/1ibQabthI6kUL6mOxGpxDKS__1tcbRBoUUDgi2Urf6H8/edit?usp=sharing)
Test: Save Meet front video call ~7mW (https://docs.google.com/spreadsheets/d/1rfDGESnMuT2KfGjtYrE7rLAJ5qt-F4DYWUYAB8anKbY/edit?usp=sharing)
Change-Id: I5c5e255a035ab0c42fa8d3441051a4856fa12a7f
2024-05-28 04:39:11 +00:00
pashalee
1d2b4db33f [Project11] CPU scheduling update.
Bug: 341968564
Test: power and performance test are updated to
      b/341968564#comment38.

- Use newly tuned STREAMING_STANDARD setting.

Change-Id: Ida2e73b7d295bed53cff04cca0004fcaa78a696c
2024-05-24 09:00:00 +00:00
Richard Chang
6eafa43ef1 powerhint: add proactive kill hint for camera launch
Bug: 322916612
Test: local test
Change-Id: I14a0aa55aeb0be55521b95f857906bbd26928e75
2024-05-23 03:46:22 +00:00
Vince Chiu
b86a89192b [Camera] Change PMU max frequency for CL2 to 1164MHz
sync from ag/27327800

Bug: 340289125
Test: GCA
Test: no frame drop impact (https://docs.google.com/spreadsheets/d/1PMMLPQf50DM3ptGm6qoDW2XMYmU5hR-aplWN24A1JI4/edit?usp=sharing&resourcekey=0-YhomAEhqUSWRMtlh70uc_g)
Test: Avg. save SoC 11mW (go/ct3-cam-pwr)
Change-Id: I85fd4862d1320d207eea491a02d0cb3ba68ae7c1
2024-05-20 10:36:42 +00:00
Treehugger Robot
87dd1122a6 Merge "Enable PMU during photo capture" into 24D1-dev 2024-05-14 01:30:57 +00:00
Pointer Kung
8cc3c2bf16 Enable PMU during photo capture
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

Bug: 340130143
Test: GCA photo capture
Change-Id: Ic1f4d5752a943a6898d92b0e44c78a85325be0a9
2024-05-13 02:20:07 +00:00
Taeju Park
a14bba34b9 Merge "powerhint: add PMU_FORCE_LIMIT control knob" into 24D1-dev 2024-05-10 19:07:40 +00:00
Rick Yiu
da6202ec64 Set big core to group_cfs_skip_mask for sys group
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: 328210236
Test: suspend/resume test
Change-Id: I2f517cb891b4c0ead0f61f7102c3d602eb383471
2024-05-09 16:27:35 +00:00
Treehugger Robot
dd19486311 Merge "powerhint: port dvfs_headroom and migration_tuning settings from caimito" into 24D1-dev 2024-05-09 06:15:37 +00:00
Rick Yiu
c519f90dfa Merge "Revert^2 "Set big core to cpu skip mask by default"" into 24D1-dev 2024-05-08 09:34:56 +00:00
Treehugger Robot
3688679617 Merge "Disable CDPreferIdle, set DSUMin to 610MHz for 60fps" into 24D1-dev 2024-05-08 00:43:53 +00:00
Pointer Kung
66a3277a31 Disable CDPreferIdle, set DSUMin to 610MHz for 60fps
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

Bug: 339154889
Test: Build pass
Change-Id: I4d4d8dd64832dabd7fc60b0dfe7a0b69b5b76df4
2024-05-07 08:36:23 +00:00
Rick Yiu
4e6ab28b1e Revert^2 "Set big core to cpu skip mask by default"
This reverts commit bc8ed4b775.

Reason for revert: regression fixed

Bug: 248621289
Change-Id: Icd7ca992b12b3e0ba1cd968aa56c847e2ed0cc9b
Test: build pass
2024-05-07 07:41:28 +00:00
Taeju Park
36d3269758 powerhint: add PMU_FORCE_LIMIT control knob
Bug: 335331630
Change-Id: Ie57a34546b0b28c323f3851b1f5a210a65a904d4
Signed-off-by: Taeju Park <taeju@google.com>
2024-05-07 00:46:36 +00:00
Treehugger Robot
dd26c30510 Merge "Revert "Set big core to cpu skip mask by default"" into 24D1-dev 2024-05-02 21:07:23 +00:00
Chung-Kai (Michael) Mei
bc8ed4b775 Revert "Set big core to cpu skip mask by default"
This reverts commit 2e325a80b2.

Reason for revert: may get geekbench5/6 regressed
Bug: 338140604
Bug: 338141118
Change-Id: I7866afa56a598ffcf56c51cbea21a6237372a599
2024-05-02 11:11:43 +00:00
Matt Buckley
5e7e34f27a Add POWER_EFFICIENCY uclamp max to adpf config
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: I46a03a794fab1446fe3dd2f7b8a87c723157bd24
2024-04-30 16:55:08 +00:00
Taeju Park
6c0d957039 powerhint: tune default value for PMU limit paramter
Bug: 310237445
Change-Id: Ib7d0876c5f82e81b20b83ff0b96bfed98bff747f
Signed-off-by: Taeju Park <taeju@google.com>
2024-04-26 19:00:45 +00:00
Taeju Park
ca76952b5a powerhint: remove lcpi paramter for PMU limit
PMU-based soft freq limit no longer use lcpi parameter

Bug: 295054083
Change-Id: I196b238b5607774e6ec78b69a49ab6665cdda97c
Signed-off-by: Taeju Park <taeju@google.com>
2024-04-26 18:45:00 +00:00
Treehugger Robot
7bc26ad23a Merge "Adpf☄️ revert heuristic boost triggering condition." into 24D1-dev 2024-04-26 02:42:19 +00:00
guibing
daa7974899 Adpf☄️ revert heuristic boost triggering condition.
This reverts previous JankCheckTimeFactor from 1.43 to 1.2.

Since the current reported duration doesn't include the GPU
part, the JankCheckTimeFactor needs to be smaller for matching
jank frame detection.

Bug: 204204746
Test: adb shell dumpsys android.hardware.power.Ipower/default;
      check adpf sessions' traces.
Change-Id: I0539faf785c3a5a7cfd4dbb948b4c1506ed3be5b
2024-04-25 22:51:49 +00:00
Treehugger Robot
79e0e36055 Merge "Set big core to cpu skip mask by default" into 24D1-dev 2024-04-25 19:31:57 +00:00
Pointer Kung
2b3e8f340a Increase SPC thresholds for 60fps
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

Bug: 335719478
Test: Build pass
Change-Id: I0f5926ec9ce9188c462455dfcad25f4e8d5f761f
2024-04-24 04:44:02 +00:00
Rick Yiu
2e325a80b2 Set big core to cpu skip mask by default
Also reset the mask for launch and other camera streaming modes that
do not use it.

Bug: 248621289
Test: build pass
Change-Id: I754a12ac7883a4e5da44e587a28dadf0a990da3d
2024-04-23 05:28:23 +00:00
Chung-Kai (Michael) Mei
bc8a17c21d Merge "powerhint: port changes from caimito" into 24D1-dev 2024-04-22 08:48:51 +00:00
Treehugger Robot
51f79f48d1 Merge "Increase SPC threshold for little and mid cores for CAMERA_STREAMING_STANDARD" into 24D1-dev 2024-04-19 14:04:58 +00:00
Treehugger Robot
38d5decf2f Merge "Increase TAUClampBoost during capture to reduce latency" into 24D1-dev 2024-04-19 14:04:20 +00:00
Pointer Kung
57cae40133 Increase SPC threshold for little and mid cores for CAMERA_STREAMING_STANDARD
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

Bug: 335776541
Test: Build pass
Change-Id: I39d442f95215a7e72d093fd101fb4cc71840ba3d
2024-04-19 06:47:26 +00:00
Pointer Kung
080b098481 Increase TAUClampBoost during capture to reduce latency
Refer to ag/26943660

Bug: 335758846
Test: Build pass
Change-Id: I7d1c5c75e2b42f0d2625d94c1f0d11bc63d1df5c
2024-04-19 03:38:03 +00:00
guibing
302294e462 adpf☄️ update hboost jank check time factor.
Update it to align with the HWUI target duration scale factor,
so the adjusted jank check time duration is same as expected frame
timeline's duration.

HWUI target duration scale factor is 70%, and its inverse value is
approximately 1.43.

Bug: 204204746
Test: adb shell dumpsys android.hardware.power.IPower/default;
      Check the device adpf sessions' traces.
Change-Id: Ib189b3f7993e3de1a7175cd8a054272432028b55
2024-04-18 23:38:40 +00:00
Chungkai Mei
365b4032aa powerhint: port dvfs_headroom and migration_tuning settings from caimito
Bug: 335367509
Test: boot
Change-Id: I04cbd92a905135664059b338710993250566c9a7
Signed-off-by: Chungkai Mei <chungkai@google.com>
2024-04-17 06:36:58 +00:00
Chungkai Mei
9b24ed394a powerhint: port changes from caimito
- Add DISPLAY_CHANGE powerhint
- Add more boosts to LAUNCH_EXTEND
- Remove unused idle target residency settings

Bug: 335367509
Test: boot
Change-Id: I3df0d71f487ac88c58c31532df10e044a898a820
Signed-off-by: Chungkai Mei <chungkai@google.com>
2024-04-17 06:23:46 +00:00
Treehugger Robot
13813d56d2 Merge "Revert "Add cpuset system group"" into 24D1-dev 2024-04-17 06:21:59 +00:00
Rick Yiu
9eab62e08a Revert "Add cpuset system group"
This reverts commit c3d404c8ff.

Reason for revert: need more perf evaluation

Bug: 328210236
Test: build pass
Change-Id: If9d7d78154dd20590738d46cdd4b0db35521a82e
2024-04-17 05:06:02 +00:00
Rick Yiu
7e1bc6905f 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: value set correctly
Change-Id: I47b7e8f587623242e2094531d73c99e88c59c83f
2024-04-16 14:18:55 +00:00
Wei Wang
a736ef8632 Merge "adpf☄️ add hboost junk detection time factor into power hint json files." into 24D1-dev 2024-04-16 03:50:58 +00:00
guibing
1369e808b4 adpf☄️ add hboost junk detection time factor into power hint json files.
Bug: 204204746
Test: adb shell dumpsys android.hardware.power.IPower/default;
      Check the device adpf sessions' traces.
Change-Id: I52068b7527d46ccbcb86589d6d56cef4aa4393b8
2024-04-15 23:59:58 +00:00