sriov: add scan-cycle fallback for verify_irqbalance on managed-IRQ VMs#4553
sriov: add scan-cycle fallback for verify_irqbalance on managed-IRQ VMs#4553knelsonmeister wants to merge 1 commit into
Conversation
There was a problem hiding this comment.
Pull request overview
This PR updates the verify_irqbalance SR-IOV test to handle managed-IRQ (e.g., MANA/v6 SKU) scenarios where irqbalance correctly decides no rebalancing is needed, by accepting evidence of a completed scan cycle when no “Selecting irq … for rebalancing” log is present.
Changes:
- Adds a fallback validation path: if no IRQ is selected for rebalancing, assert that irqbalance emitted scan-cycle markers in
--debugoutput. - Adds a debug log indicating the “managed IRQ / no rebalance needed” scenario was detected.
✅ AI Test Selection — PASSED1 test case(s) selected (view run) Marketplace image: canonical 0001-com-ubuntu-server-jammy 22_04-lts-gen2 latest
Test case details
|
| scan_match = re.search( | ||
| r"-{5,}", | ||
| result.stdout, | ||
| ) |
There was a problem hiding this comment.
paste the sample raw string for result.stdout
There was a problem hiding this comment.
This code was removed as it is not a good indicator of a scan.
New code was re-tested, and the fix still works.
On v6 SKUs with MANA NICs, all network IRQs use managed mode where the kernel controls affinity. With 32+ cores distributing IRQs evenly across cache domains, irqbalance correctly determines no rebalancing is needed and never prints 'Selecting irq X for rebalancing'. This causes verify_irqbalance to fail even though irqbalance is working correctly. Add a fallback assertion: when no active rebalancing is detected, verify that irqbalance completed at least one scan cycle by checking for separator lines and 'Interrupt N node_num' messages in its debug output. This confirms irqbalance ran and scanned the interrupt topology, even if it decided nothing needed moving. Tested on: - RHEL 9.0 / Standard_E32ds_v6 (previously failing): PASSED 2/2 - Ubuntu 22.04 / Standard_D8ds_v5 (regression check): PASSED 1/1
ed85185 to
4f903e3
Compare
✅ AI Test Selection — PASSED1 test case(s) selected (view run) Marketplace image: canonical 0001-com-ubuntu-server-jammy 22_04-lts-gen2 latest
Test case details
|
Problem
verify_irqbalancefails consistently on v6 SKUs with MANA NICs (e.g. RHEL 9.0 on Standard_E32ds_v6). On these VMs, all network IRQs use managed mode where the kernel controls affinity. With 32+ cores distributing IRQs evenly across cache domains, irqbalance correctly determines no rebalancing is needed and never printsSelecting irq X for rebalancing. The test only accepted that message as proof of functionality, so it failed even though irqbalance was working correctly.Fix
Add a fallback assertion: when no active rebalancing is detected, verify that irqbalance completed at least one scan cycle by checking for:
-----...) indicating scan outputInterrupt N node_nummessages showing it scanned the interrupt topologyThis confirms irqbalance ran and analyzed the system, even if it decided nothing needed moving. The original
Selecting irqpath still works on configs where rebalancing occurs.Testing