-
Notifications
You must be signed in to change notification settings - Fork 76
[WIP][DNM] Add s2idle docs #562
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
|
New warnings found with rstcheck: |
| * **System State:** (Optional) Power Down or Retention | ||
| 4. **PSCI Enforcement:** The PSCI implementation verifies that all other cores in the requested node are indeed idle. If they are not, the request is denied (to prevent race conditions). | ||
|
|
||
| ************************************* |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The section identifier line should be of equal length to the section name.
| Suspend-to-Idle (s2idle), also known as "freeze," is a generic, pure software, light-weight variant of system suspend. | ||
| In this state, the Linux kernel freezes user space tasks, suspends devices, and then puts all CPUs into their deepest available idle state. | ||
|
|
||
| ********************** |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The section identifier line should be of equal length to the section name.
|
|
||
| ************************** | ||
| OS Initiated (OSI) Mode | ||
| ************************** |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The section identifier line should be of equal length to the section name.
b935f77 to
ef4ad74
Compare
|
@cshilwant , and rest I'll mark the PR ready for review once it has undergone LPM team internal review. Till then requesting you to hold off reviews. Thanks! |
source/linux/Foundational_Components/Power_Management/pm_psci_s2idle.rst
Outdated
Show resolved
Hide resolved
| On ARM64 platforms, both ``s2idle`` and ``deep`` states can achieve similar power savings (e.g., suspending to RAM / DDR Self-Refresh). | ||
| The primary differences lie in the software execution flow, specifically how CPUs are managed and which PSCI APIs are invoked. | ||
|
|
||
| .. list-table:: S2Idle vs Deep Sleep (ARM64) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it necessary to specify ARM64 platforms since you already specified ARM64 previously and this page will (presumably) only be used in ARM64 platforms?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ack, willfix
| - **Offlined**: Non-boot CPUs are hot-unplugged (removed) from the system via ``CPU_OFF``. | ||
|
|
||
| * - **Entry Path** | ||
| - **cpuidle**: Uses the standard CPU idle framework and governance. It runtime suspends each driver to make sure it's idle. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| - **cpuidle**: Uses the standard CPU idle framework and governance. It runtime suspends each driver to make sure it's idle. | |
| - **cpuidle**: Uses the standard CPU idle framework and governance. Each driver is put into an idle state by runtime suspend. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ack, willfix
source/linux/Foundational_Components/Power_Management/pm_psci_s2idle.rst
Outdated
Show resolved
Hide resolved
source/linux/Foundational_Components/Power_Management/pm_psci_s2idle.rst
Outdated
Show resolved
Hide resolved
source/linux/Foundational_Components/Power_Management/pm_psci_s2idle.rst
Outdated
Show resolved
Hide resolved
| In this state, the Linux kernel freezes user space tasks, suspends devices, and then puts all CPUs into their deepest available idle state. | ||
|
|
||
| ********************************** | ||
| S2Idle vs Deep Sleep (mem) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wondering if this whole section should be moved to be the last / one of the last sections? I think explaining PSCI would be good to do before going into comparisons on how it operates differently than Deep Sleep
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ack
| 5. Thaw tasks | ||
|
|
||
| The `cpuidle` driver calls the PSCI `CPU_SUSPEND` API to transition the CPU (and potentially | ||
| higher-level topology nodes like clusters) into a low-power state. The effectiveness of s2idle |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Assume the reader doesn't know what the topology nodes / clusters are. This should either be explained or the information in the parenthesis should be removed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok since we will need more docs on how we're grouping things and what is cluster/ system definition I will send it in next PR. removing for now
| 2. Suspend devices | ||
| | | ||
| v | ||
| 3. cpuidle driver -----------> CPU_SUSPEND (SMC/HVC) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is SMC/HVC?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok will add explanation for secure monitor call.
| | Enter low-power | ||
| | hardware state |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| | Enter low-power | |
| | hardware state | |
| | CPU enters low-power | |
| | hardware state |
Only suggesting this because I think the cpuidle to PSCI firmware can be a little confusing.
ef4ad74 to
fcd21dd
Compare
|
New warnings found with rstcheck: |
Document all about s2idle and PSCI and how the whole stack helps us in selecting between low power modes on the TI AM62L