-
Notifications
You must be signed in to change notification settings - Fork 105
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
CNF-16267: Add kernel page size field #1262
base: master
Are you sure you want to change the base?
Conversation
Skipping CI for Draft Pull Request. |
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: rbaturov The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
/test all |
fc168a5
to
c2e7ab1
Compare
/test all |
c2e7ab1
to
9534531
Compare
/test all |
/retest-required |
@rbaturov: This pull request references CNF-16267 which is a valid jira issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
pkg/apis/performanceprofile/v2/performanceprofile_validation.go
Outdated
Show resolved
Hide resolved
pkg/performanceprofile/controller/performanceprofile/components/machineconfig/machineconfig.go
Outdated
Show resolved
Hide resolved
KernelPageSize defines the size of the kernel page. For x86/amd64, the only valid value is 4k. For aarch64, the valid values are 4k, 64k. The default value is 4k, if none specified. Signed-off-by: Ronny Baturov <[email protected]>
This update introduces the following validation checks for the KernelPageSize field: * On x86/amd64 systems, only 4k is accepted. * On aarch64 systems, 4k is accepted unconditionally, while 64k is accepted only if the real-time kernel is disabled (current supported behavior). * Any other values are rejected. Note: the validation ensures that all nodes in the MCP have the same architecture and determines the CPU architecture before running the validation checks mentioned above. Signed-off-by: Ronny Baturov <[email protected]>
This commit consist of the following changes: * Enhanced the performanceprofile controller to choose 64k-pages MC kernelType, when 64k pages specified. * Added unit tests to cover the following scenarios: RealTime kernel disabled + 64k => 64-pages kernelType RealTime kernel disabled + 4k => default kernelType RealTime kernel enabled + 4k => realtime kernelType Note that the case of RealTime kernel enabled + 64k is not tested, as it is expected to be rejected by validation. Signed-off-by: Ronny Baturov <[email protected]>
Signed-off-by: Ronny Baturov <[email protected]>
1828054
to
194a3c7
Compare
@rbaturov: This pull request references CNF-16267 which is a valid jira issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
## KernelPageSize | ||
|
||
KernelPageSize defines the kernel page size that will be used by the kernel. | ||
4k is the default value, 64k is only supported on aarch64. |
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.
I think we should add here or in the PerformanceProfileSpec
section that real time kernel with 64k kernel page size is not supported with on aarch64. WDYT?
/test okd-scos-e2e-aws-ovn |
@rbaturov: all tests passed! Full PR test history. Your PR dashboard. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
This PR introduces the following changes:
This field defines the kernel page size: for x86/amd64, the only valid value is 4k, while for aarch64, the valid values are 4k, 64k.
The default value is 4k if none is specified.
64k-pages
alongsidedefault
andrealtime
Edit: This has been verified on an ARM cluster.