Skip to content

[OCPBUGS-104855]: Fix PPC example to use even CPU counts for HT compatibility - #117426

Open
kquinn1204 wants to merge 3 commits into
openshift:mainfrom
kquinn1204:OCPBUGS-104855
Open

[OCPBUGS-104855]: Fix PPC example to use even CPU counts for HT compatibility#117426
kquinn1204 wants to merge 3 commits into
openshift:mainfrom
kquinn1204:OCPBUGS-104855

Conversation

@kquinn1204

@kquinn1204 kquinn1204 commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Version(s):
4.20, 4.21, 4.22

Issue:
https://redhat.atlassian.net/browse/OCPBUGS-104855

Link to docs preview:

QE review:

  • QE has approved this change.

Additional information:

The Performance Profile Creator (PPC) example command used --reserved-cpu-count=1 and --offlined-cpu-count=1, which fails on hyper-threading systems (the default) with:

Error: failed to make profile data from node handler: failed to compute the reserved and isolated CPUs: can't allocate odd number of CPUs from a NUMA Node

Affected modules:

  • modules/cnf-running-the-performance-creator-profile.adoc (Podman procedure)
  • modules/cnf-running-the-performance-creator-profile-offline.adoc (wrapper script procedure)

Changes (both modules):

  1. Changes --reserved-cpu-count from 1 to 2 so the value is even and compatible with hyper-threading NUMA allocation.
  2. Removes --offlined-cpu-count from the example entirely. On the existing 4-CPU example system, --reserved-cpu-count=2 plus --offlined-cpu-count=2 would consume all 4 CPUs, leaving zero for isolated workloads — an invalid configuration. The --offlined-cpu-count flag remains documented in the PPC argument reference table.
  3. Updates the example output (log messages and generated PerformanceProfile YAML) to reflect the corrected CPU allocations: reserved: "0-1", isolated: 2-3.
  4. Updates example output blocks from the old level=info msg="..." log format to the PPC: ... format introduced in v4.20. Verified by testing PPC images from v4.19 (old format) through v4.22 (new format) — the cutover occurred in v4.20.
  5. (Wrapper script module only) Updates help output and --info invocation to reflect the v4.20+ subcommand syntax (info instead of --info=log).

Cherry-pick guidance for backports:

The branch has 3 commits:

  • fc42ec6 — CPU count fix only (retains old level=info msg= format) — cherry-pick this for 4.19 and below
  • 0936dc0 — Log format update for Podman module — relevant for 4.20+ only
  • db62046 — Same fixes for wrapper script module (CPU counts + log format + info subcommand) — relevant for 4.20+ only; for 4.19 and below, the wrapper script module needs only the CPU count fix with old format

…bility

The Performance Profile Creator example used --reserved-cpu-count=1 and
--offlined-cpu-count=1, which fails on hyper-threading systems because
CPUs must be allocated in even numbers per NUMA node. Change reserved
count to 2 and remove offlined count to keep the 4-CPU example
consistent (2 reserved + 2 isolated = 4 total).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@openshift-ci-robot openshift-ci-robot added jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. labels Aug 6, 2026
@openshift-ci-robot

Copy link
Copy Markdown

@kquinn1204: This pull request references Jira Issue OCPBUGS-104855, which is invalid:

  • expected the bug to target the "5.0.0" version, but no target version was set

Comment /jira refresh to re-evaluate validity if changes to the Jira bug are made, or edit the title of this pull request to link to a different bug.

The bug has been updated to refer to the pull request using the external bug tracker.

Details

In response to this:

[OCPBUGS-104855]: Fix PPC example to use even CPU counts for HT compatibility. The Performance Profile Creator example used --reserved-cpu-count=1 and --offlined-cpu-count=1, which fails on hyper-threading systems because CPUs must be allocated in even numbers per NUMA node. Change reserved count to 2 and remove offlined count to keep the 4-CPU example consistent (2 reserved + 2 isolated = 4 total).

Version(s): 4.14 +

Issue:https://redhat.atlassian.net/browse/OCPBUGS-104855

Link to docs preview:

QE review:

  • QE has approved this change.

Additional information:

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.

@openshift-ci openshift-ci Bot added the size/S Denotes a PR that changes 10-29 lines, ignoring generated files. label Aug 6, 2026
@ocpdocs-previewbot

ocpdocs-previewbot commented Aug 6, 2026

Copy link
Copy Markdown

@kquinn1204 kquinn1204 changed the title OCPBUGS-104855: Fix PPC example to use even CPU counts for HT compatibility [OCPBUGS-104855]: Fix PPC example to use even CPU counts for HT compatibility Aug 6, 2026
@openshift-ci-robot openshift-ci-robot removed jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. jira/invalid-bug Indicates that a referenced Jira bug is invalid for the branch this PR is targeting. labels Aug 6, 2026
@openshift-ci-robot

Copy link
Copy Markdown

@kquinn1204: No Jira issue is referenced in the title of this pull request.
To reference a jira issue, add 'XYZ-NNN:' to the title of this pull request and request another refresh with /jira refresh.

Details

In response to this:

Version(s):
4.14, 4.15, 4.16, 4.17, 4.18, 4.19, 4.20, 4.21, 4.22

Issue:
https://redhat.atlassian.net/browse/OCPBUGS-104855

Link to docs preview:

QE review:

  • QE has approved this change.

Additional information:

The Performance Profile Creator (PPC) example command used --reserved-cpu-count=1 and --offlined-cpu-count=1, which fails on hyper-threading systems (the default) with:

Error: failed to make profile data from node handler: failed to compute the reserved and isolated CPUs: can't allocate odd number of CPUs from a NUMA Node

This fix:

  1. Changes --reserved-cpu-count from 1 to 2 so the value is even and compatible with hyper-threading NUMA allocation.
  2. Removes --offlined-cpu-count from the example entirely. On the existing 4-CPU example system, --reserved-cpu-count=2 plus --offlined-cpu-count=2 would consume all 4 CPUs, leaving zero for isolated workloads — an invalid configuration. The --offlined-cpu-count flag remains documented in the PPC argument reference table earlier in the module.
  3. Updates the example output (log messages and generated PerformanceProfile YAML) to reflect the corrected CPU allocations: reserved: "0-1", isolated: 2-3.

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.

The Performance Profile Creator changed its log output format from
`level=info msg="..."` to `PPC: ...` starting in v4.20. Update both
example output blocks (info and profile creation) to match the current
format.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@openshift-ci openshift-ci Bot added size/M Denotes a PR that changes 30-99 lines, ignoring generated files. and removed size/S Denotes a PR that changes 10-29 lines, ignoring generated files. labels Aug 6, 2026
Apply the same corrections to the wrapper script procedure module
(cnf-running-the-performance-creator-profile-offline.adoc):

- Change --reserved-cpu-count from 1 to 2 for HT compatibility
- Remove --offlined-cpu-count from example command and output
- Update example output to v4.20+ PPC: log format
- Update help output to show info as subcommand (v4.20+)
- Update --info=log invocation to info subcommand syntax

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@openshift-ci

openshift-ci Bot commented Aug 6, 2026

Copy link
Copy Markdown

@kquinn1204: all tests passed!

Full PR test history. Your PR dashboard.

Details

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/L Denotes a PR that changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants