-
Notifications
You must be signed in to change notification settings - Fork 1.5k
[installer] add processor.max_cstate=1 to intel kernel cmdline #16339
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
[installer] add processor.max_cstate=1 to intel kernel cmdline #16339
Conversation
installer/default_platform.conf
Outdated
@@ -481,7 +481,7 @@ bootloader_menu_config() | |||
echo "Switch CPU vendor is: $CPUVENDOR" | |||
if echo "$CPUVENDOR" | grep -i 'Intel' >/dev/null 2>&1; then | |||
echo "Switch CPU cstates are: disabled" | |||
CSTATES="intel_idle.max_cstate=0" | |||
CSTATES="processor.max_cstate=0 intel_idle.max_cstate=0" |
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.
Let's use 1 here.
According to document, system will change it to 1 in runtime when user set it to 0.
To avoid confusion, let's use 1 here.
a478770
to
2fe873c
Compare
Please provide the tested image version, not just the branch name. |
@qiluo-msft updated |
@Xichen96 PR conflicts with 202205 branch |
Why I did it This is a fix for PR [kernel] Change grub cmdline to set c-states to 0 for "Intel" CPUs by shlomibitton · Pull Request sonic-net#6051 · sonic-net/sonic-buildimage (github.com) The original PR will disable intel idle driver but it cannot limit the max c-state to 1 due to system will fall back to acpi idle driver. Currently intel_idle.max_cstate=0 is already present, which will disable intel idle driver. With the added option, common idle driver will be disabled as well, so there will not be idle management. This is to prevent a bug that can be triggered by idle instruction on intel platform. How I did it Add the option to installer file beside intel_idle.max_cstate=0
Cherry-pick PR to 202211: #16365 |
Why I did it This is a fix for PR [kernel] Change grub cmdline to set c-states to 0 for "Intel" CPUs by shlomibitton · Pull Request #6051 · sonic-net/sonic-buildimage (github.com) The original PR will disable intel idle driver but it cannot limit the max c-state to 1 due to system will fall back to acpi idle driver. Currently intel_idle.max_cstate=0 is already present, which will disable intel idle driver. With the added option, common idle driver will be disabled as well, so there will not be idle management. This is to prevent a bug that can be triggered by idle instruction on intel platform. How I did it Add the option to installer file beside intel_idle.max_cstate=0
@yxieca changes to 202205 will be in another pr |
@Xichen96 PR conflicts with 202211 branch |
Why I did it This is a fix for PR [kernel] Change grub cmdline to set c-states to 0 for "Intel" CPUs by shlomibitton · Pull Request sonic-net#6051 · sonic-net/sonic-buildimage (github.com) The original PR will disable intel idle driver but it cannot limit the max c-state to 1 due to system will fall back to acpi idle driver. Currently intel_idle.max_cstate=0 is already present, which will disable intel idle driver. With the added option, common idle driver will be disabled as well, so there will not be idle management. This is to prevent a bug that can be triggered by idle instruction on intel platform. How I did it Add the option to installer file beside intel_idle.max_cstate=0
Cherry-pick PR to 202305: #16425 |
Why I did it This is a fix for PR [kernel] Change grub cmdline to set c-states to 0 for "Intel" CPUs by shlomibitton · Pull Request sonic-net#6051 · sonic-net/sonic-buildimage (github.com) The original PR will disable intel idle driver but it cannot limit the max c-state to 1 due to system will fall back to acpi idle driver. Currently intel_idle.max_cstate=0 is already present, which will disable intel idle driver. With the added option, common idle driver will be disabled as well, so there will not be idle management. This is to prevent a bug that can be triggered by idle instruction on intel platform. How I did it Add the option to installer file beside intel_idle.max_cstate=0
<!-- Please make sure you've read and understood our contributing guidelines: https://github.com/Azure/SONiC/blob/gh-pages/CONTRIBUTING.md ** Make sure all your commits include a signature generated with `git commit -s` ** If this is a bug fix, make sure your description includes "fixes #xxxx", or "closes #xxxx" or "resolves #xxxx" Please provide the following information: --> #### Why I did it Add CSTATE configuration for the AMD CPU to disable CPU idling. Related to: sonic-net#16339 ##### Work item tracking - Microsoft ADO **(number only)**: #### How I did it Add `processor.max_cstate=1 amd_idle.max_cstate=0` to installer default grub config. #### How to verify it Boot the image. Verify the added option are present in `cat /proc/cmdline` command output. <!-- If PR needs to be backported, then the PR must be tested against the base branch and the earliest backport release branch and provide tested image version on these two branches. For example, if the PR is requested for master, 202211 and 202012, then the requester needs to provide test results on master and 202012. --> #### Which release branch to backport (provide reason below if selected) <!-- - Note we only backport fixes to a release branch, *not* features! - Please also provide a reason for the backporting below. - e.g. - [x] 202006 --> - [ ] 201811 - [ ] 201911 - [ ] 202006 - [ ] 202012 - [ ] 202106 - [ ] 202111 - [ ] 202205 - [ ] 202211 - [ ] 202305 #### Tested branch (Please provide the tested image version) <!-- - Please provide tested image version - e.g. - [x] 20201231.100 --> - [ ] <!-- image version 1 --> - [ ] <!-- image version 2 --> #### Description for the changelog <!-- Write a short (one line) summary that describes the changes in this pull request for inclusion in the changelog: --> <!-- Ensure to add label/tag for the feature raised. example - PR#2174 under sonic-utilities repo. where, Generic Config and Update feature has been labelled as GCU. --> #### Link to config_db schema for YANG module changes <!-- Provide a link to config_db schema for the table for which YANG model is defined Link should point to correct section on https://github.com/Azure/sonic-buildimage/blob/master/src/sonic-yang-models/doc/Configuration.md --> #### A picture of a cute animal (not mandatory but encouraged)
<!-- Please make sure you've read and understood our contributing guidelines: https://github.com/Azure/SONiC/blob/gh-pages/CONTRIBUTING.md ** Make sure all your commits include a signature generated with `git commit -s` ** If this is a bug fix, make sure your description includes "fixes #xxxx", or "closes #xxxx" or "resolves #xxxx" Please provide the following information: --> #### Why I did it Add CSTATE configuration for the AMD CPU to disable CPU idling. Related to: sonic-net#16339 ##### Work item tracking - Microsoft ADO **(number only)**: #### How I did it Add `processor.max_cstate=1 amd_idle.max_cstate=0` to installer default grub config. #### How to verify it Boot the image. Verify the added option are present in `cat /proc/cmdline` command output. <!-- If PR needs to be backported, then the PR must be tested against the base branch and the earliest backport release branch and provide tested image version on these two branches. For example, if the PR is requested for master, 202211 and 202012, then the requester needs to provide test results on master and 202012. --> #### Which release branch to backport (provide reason below if selected) <!-- - Note we only backport fixes to a release branch, *not* features! - Please also provide a reason for the backporting below. - e.g. - [x] 202006 --> - [ ] 201811 - [ ] 201911 - [ ] 202006 - [ ] 202012 - [ ] 202106 - [ ] 202111 - [ ] 202205 - [ ] 202211 - [ ] 202305 #### Tested branch (Please provide the tested image version) <!-- - Please provide tested image version - e.g. - [x] 20201231.100 --> - [ ] <!-- image version 1 --> - [ ] <!-- image version 2 --> #### Description for the changelog <!-- Write a short (one line) summary that describes the changes in this pull request for inclusion in the changelog: --> <!-- Ensure to add label/tag for the feature raised. example - PR#2174 under sonic-utilities repo. where, Generic Config and Update feature has been labelled as GCU. --> #### Link to config_db schema for YANG module changes <!-- Provide a link to config_db schema for the table for which YANG model is defined Link should point to correct section on https://github.com/Azure/sonic-buildimage/blob/master/src/sonic-yang-models/doc/Configuration.md --> #### A picture of a cute animal (not mandatory but encouraged)
<!-- Please make sure you've read and understood our contributing guidelines: https://github.com/Azure/SONiC/blob/gh-pages/CONTRIBUTING.md failure_prs.log Make sure all your commits include a signature generated with `git commit -s` ** If this is a bug fix, make sure your description includes "fixes #xxxx", or "closes #xxxx" or "resolves #xxxx" Please provide the following information: --> #### Why I did it Add CSTATE configuration for the AMD CPU to disable CPU idling. Related to: #16339 ##### Work item tracking - Microsoft ADO **(number only)**: #### How I did it Add `processor.max_cstate=1 amd_idle.max_cstate=0` to installer default grub config. #### How to verify it Boot the image. Verify the added option are present in `cat /proc/cmdline` command output. <!-- If PR needs to be backported, then the PR must be tested against the base branch and the earliest backport release branch and provide tested image version on these two branches. For example, if the PR is requested for master, 202211 and 202012, then the requester needs to provide test results on master and 202012. --> #### Which release branch to backport (provide reason below if selected) <!-- - Note we only backport fixes to a release branch, *not* features! - Please also provide a reason for the backporting below. - e.g. - [x] 202006 --> - [ ] 201811 - [ ] 201911 - [ ] 202006 - [ ] 202012 - [ ] 202106 - [ ] 202111 - [ ] 202205 - [ ] 202211 - [ ] 202305 #### Tested branch (Please provide the tested image version) <!-- - Please provide tested image version - e.g. - [x] 20201231.100 --> - [ ] <!-- image version 1 --> - [ ] <!-- image version 2 --> #### Description for the changelog <!-- Write a short (one line) summary that describes the changes in this pull request for inclusion in the changelog: --> <!-- Ensure to add label/tag for the feature raised. example - PR#2174 under sonic-utilities repo. where, Generic Config and Update feature has been labelled as GCU. --> #### Link to config_db schema for YANG module changes <!-- Provide a link to config_db schema for the table for which YANG model is defined Link should point to correct section on https://github.com/Azure/sonic-buildimage/blob/master/src/sonic-yang-models/doc/Configuration.md --> #### A picture of a cute animal (not mandatory but encouraged)
Why I did it
This is a fix for PR [kernel] Change grub cmdline to set c-states to 0 for "Intel" CPUs by shlomibitton · Pull Request #6051 · sonic-net/sonic-buildimage (github.com)
The original PR will disable intel idle driver but it cannot limit the max c-state to 1 due to system will fall back to acpi idle driver.
Currently intel_idle.max_cstate=0 is already present, which will disable intel idle driver. With the added option, common idle driver will be disabled as well, so there will not be idle management. This is to prevent a bug that can be triggered by idle instruction on intel platform.
Work item tracking
How I did it
Add the option to installer file beside intel_idle.max_cstate=0
How to verify it
Manually changed kernel boot option to include the new parameter and reboot.
Which release branch to backport (provide reason below if selected)
Tested branch (Please provide the tested image version)
20201231.82,20181130.101
Description for the changelog
add processor.max_cstate=0 to intel kernel cmdline
Link to config_db schema for YANG module changes
A picture of a cute animal (not mandatory but encouraged)