Skip to content

fix(bios): wire numa_nps into the guided walk and verify pass - #285

Merged
VijitSingh97 merged 2 commits into
developfrom
fix/268-bios-nps
Jul 17, 2026
Merged

fix(bios): wire numa_nps into the guided walk and verify pass#285
VijitSingh97 merged 2 commits into
developfrom
fix/268-bios-nps

Conversation

@VijitSingh97

Copy link
Copy Markdown
Contributor

Summary

_bios_detect has detected and persisted a numa_nps item since #201, but _bios_guide and _bios_verify never wired it up:

  • _bios_guide's pending-items loop only iterated memory_profile smt power_boost, so a pending NPS item never rendered in the guided walk, and could make the "Everything's already set" early-out fire while an EPYC rig was still sitting at NPS1.
  • _bios_verify's per-item case had no numa_nps arm, so it hit *) continue — a saved numa_nps: pending item was silently dropped from both the applied and still-pending columns, and the state file was deleted (or a false "All BIOS items applied" printed) even though nothing was verified.

This fixes both spots:

  1. Added numa_nps to _bios_guide's walk list, with a status line (ok/pending) mirroring the wording of doctor's NPS advisory (doctor/bios: detect NPS1 on EPYC — flag a NUMA-per-socket regression (detectable, currently silent) #201) — same target mode (NPS4) and "quadrant-local memory" phrasing.
  2. Added a numa_nps arm to _bios_verify that re-runs the same _nps_suspect-backed detection _bios_detect uses, and classifies the item as applied (NPS4 seen) or still pending, consistent with how the other three items verify — including the kept/rewrite bookkeeping so a NPS item that did take doesn't get carried forward into the resaved state.

The "Everything's already set" early-out was already correct once NPS participates in the same pending-list loop as the other three items — it fires only when the loop builds an empty pending list across all four.

Tests

Added the three tests called out in the issue, next to the existing _bios tests in tests/run.sh (reusing the $NPS/one / $NPS/four node-count fixtures from the existing #201 detection tests):

  1. Guide with only numa_nps pending → the NPS step renders, "Everything's already set" does not fire.
  2. Verify with numa_nps: pending in state and detection still reporting NPS1 → stays pending, no "All BIOS items applied", state file survives.
  3. Verify with detection now reporting NPS4 → counted applied, state file removed.

make test (shellcheck + shfmt + the full suite): 1348 passed, 0 failed. Confirmed all 3 new test blocks (7 of 9 assertions) go red against the unfixed code before re-applying the fix.

Closes #268

🤖 Generated with Claude Code

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@VijitSingh97
VijitSingh97 enabled auto-merge (squash) July 17, 2026 03:17
@VijitSingh97
VijitSingh97 merged commit bda4e72 into develop Jul 17, 2026
9 checks passed
@VijitSingh97
VijitSingh97 deleted the fix/268-bios-nps branch July 17, 2026 03:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

bios: numa_nps is detected and persisted but never guided or verified — pending NPS silently dropped

1 participant