Repository navigation
soc: apple: clpc: count how often the GPU floor is released and comes back - #552
Merged
Merged
Conversation
… back The GPU floor is released while the PMP limits the DCS and comes back APPLE_CLPC_GPU_BACKOFF_MS after it last did. The debugfs status shows when the PMP last limited the DCS, but not how often the floor changed, so a backoff that is too short, letting the floor flap during sustained heavy rendering, is not visible. Count, at each sample that sees GPU work stream, the times the floor went from held to released and back, and show both counts in the status file. Two readings around a heavy run then show whether the floor came back while the PMP was still limiting. In this tree the GPU floor branch also sets the sample's reason bit 4; that is kept, now inside the counted branch. Signed-off-by: DjDeveloperr <hey@djdev.me> (cherry picked from omacom/linux-aurora commit 8945c4c)
Contributor
Author
|
Qualified on the Neo (J700): integration/aurora core with this patch and a matching asahi module, Omarchy desktop, debugfs at
Under heavy load the counter goes up only while the PMP limits the DCS. The floor comes back once the backoff expires. While the SoC is still hot, the light burst after the heavy leg flips the floor on and off many times (36 cycles), and those cycles are exactly what this counter was added to show. The kernel log has no CLPC errors or warnings. The status file reads without problems while the GPU is busy. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Mirror of omacom/linux-aurora#263 (commit 8945c4c there): a debugfs count of how often the T8140 GPU floor is released and comes back, so flapping of the 100 ms backoff (#464) is visible.
The status file gets one more line under the existing
gpu:line:Both are counted at each sample that sees GPU work stream, as the floor goes from held to released and back. Two readings around a sustained heavy run show whether the floor came back while the PMP was still limiting. No behaviour change: the floor decision is the same expression, only split so its result can be counted. In this tree the branch also sets the sample's reason bit 4, which is kept inside the counted branch (the one conflict of the pick).
Testing: W=1 build of
drivers/soc/apple/clpc.owithAPPLE_PMCandAPPLE_CLPCenabled is clean, apart from the existing kernel-doc warning forpmp_agent. There is no CLPC KUnit suite; reading the counts needs a Neo run.