You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We are decommissioning our POWER8 hardware.
...
On the migration itself: all instances are moving to POWER9. I migrated VMs
off POWER8 yesterday afternoon so that several machines could be powered
down immediately, and I am moving any remaining instances today. Your
instances will continue to run on the new hardware, so no action is
required on your part. I expect POWER8 to be fully decommissioned over the
next few weeks.
The text of the email refers to Linux but we might need to check if this also applies to our AIX machines.
I don't know yet if this is going to risk releases on Node.js 22 and 24 which still support POWER8 hardware (e.g. would compiling on POWER9 result in instructions being used that are not present in POWER8?). On IBM Cloud we can run VMs in POWER8 compatibility mode -- I don't know yet if that is possible in OpenStack at OSUOSL.
Node.js 26 dropped support for POWER8 so will not be affected.
Basic node --version, node -p process.versions work on the VM in POWER8 compatibility mode. I'd need to do more configuration on the machine (i.e. connect it to our RHEL subscription) to set up for running the Node.js test suite.
We might be saved in that it looks like Red Hat have configured gcc (10 for Node.js 20 and 12 for Node.js 22) on RHEL 8 for POWER8 (--with-cpu-64=power8 --with-tune-64=power8) so that if -mcpu is not specified it is defaulting to POWER8:
Short term problem (prior to next week's security releases)
We currently have no POWER8 VMs. Not having any POWER8 testing is risky because Node.js 24 and 22 support POWER8 and we have had noticeable differences in behaviour on POWER8 vs newer (e.g. POWER9) due to e.g. SIMD only being available from POWER9.
The quickest way to get POWER8 testing back is to have two (minimum number of test runners per platform) VMs on IBM Cloud in POWER8 compatibility mode. This would either be two new VMs, or we could repurpose one (and one new VM) or both of the existing POWER9 VMs hosted on IBM Cloud.
Release machine?
Based on how RHEL 8 configures gcc it looks like we can leave the release machines alone for now. Longer term we may need to move a release machine to IBM Cloud for POWER8, or take a decision that we do not need a POWER8 release machine (we do not run tests on the release machines) and consolidate to a single RHEL 8 POWER9 release machine.
RHEL 8 is unlikely to remove support for POWER8, and the gcc 10 and 12 toolsets no longer get updates, which means it is highly unlikely that the default target/tuning will change for those compilers from power8.
We could also explicitly set -mcpu=power8 in the gyp configuration, but that would potentially affect other people building Node.js from source on other toolchains.
Based on #4405 (comment) it looks like we can leave the release machines alone for now.
Agreed.
We could also explicitly set -mcpu=power8 in the gyp configuration, but that would potentially affect other people building Node.js from source on other toolchains.
I'm not sure if we have any precedent for it but in theory we could set -mcpu=power8 at the end of the CC variable in select-compiler.sh if we didn't want to affect the build for others, but like you I'm inclined to believe it's not necessary.
I'll also note that the risk here is if the release builds on POWER9 fail when executed on POWER8 so
Adding in POWER8 (in compat mode) should give us protection against any changes in V8's codegen (low risk I'd suggest unless someone tries to backport a POWER9 instruction)
It does not give us any protection in the case that gcc starts outputting POWER9 code, although for the reasons you suggest that's unlikely to be an issue as long as we build on RHEL8 and the toolsets aren't likely to be updated to do that. If we wanted to protect against that then we should look at putting -mcpu=power8 /somewhere/ but that doesn't sound critical right now.
Activity
richardlau commentedon Jul 23, 2026
Following on from today's Build WG call:
We currently only set
-mcpu=power9on AIX. We're not setting-mcpu(at all, to any value) for Linux ppc64le.I have confirmed all of our OSUOSL ppc64le VMs are now POWER9:
e.g.
For an IBM Cloud VM in POWER8 compatibility mode (not yet connected to Jenkins):
In OSUOSL OpenStack these VMs are now
p9.large(previouslyp8.large). I don't see anything obvious in OpenStack to set a processor compatibility mode.richardlau commentedon Jul 23, 2026
I've built a test build on the release CI (machine in now POWER9): https://ci-release.nodejs.org/job/iojs+release/11949/nodes=rhel8-ppc64le-release/
Test builds also available in: https://nodejs.org/download/test/v24.18.0-test20260723b881107b8f/
Basic
node --version,node -p process.versionswork on the VM in POWER8 compatibility mode. I'd need to do more configuration on the machine (i.e. connect it to our RHEL subscription) to set up for running the Node.js test suite.We might be saved in that it looks like Red Hat have configured
gcc(10 for Node.js 20 and 12 for Node.js 22) on RHEL 8 for POWER8 (--with-cpu-64=power8 --with-tune-64=power8) so that if-mcpuis not specified it is defaulting to POWER8:richardlau commentedon Jul 24, 2026
This table is what we're supposed to have set up (after #4236):
test-osuosl-rhel8-ppc64_le-1
test-osuosl-rhel8-ppc64_le-2
test-osuosl-rhel8-ppc64_le-3
test-osuosl-rhel8-ppc64_le-4
test-osuosl-rhel8-ppc64_le-5
test-osuosl-rhel9-ppc64_le-2
All of those OSUOSL VMs are now POWER9.
Short term problem (prior to next week's security releases)
We currently have no POWER8 VMs. Not having any POWER8 testing is risky because Node.js 24 and 22 support POWER8 and we have had noticeable differences in behaviour on POWER8 vs newer (e.g. POWER9) due to e.g. SIMD only being available from POWER9.
The quickest way to get POWER8 testing back is to have two (minimum number of test runners per platform) VMs on IBM Cloud in POWER8 compatibility mode. This would either be two new VMs, or we could repurpose one (and one new VM) or both of the existing POWER9 VMs hosted on IBM Cloud.
Release machine?
Based on how RHEL 8 configures gcc it looks like we can leave the release machines alone for now. Longer term we may need to move a release machine to IBM Cloud for POWER8, or take a decision that we do not need a POWER8 release machine (we do not run tests on the release machines) and consolidate to a single RHEL 8 POWER9 release machine.
RHEL 8 is unlikely to remove support for POWER8, and the gcc 10 and 12 toolsets no longer get updates, which means it is highly unlikely that the default target/tuning will change for those compilers from
power8.We could also explicitly set
-mcpu=power8in the gyp configuration, but that would potentially affect other people building Node.js from source on other toolchains.sxa commentedon Jul 24, 2026
Agreed.
I'm not sure if we have any precedent for it but in theory we could set
-mcpu=power8at the end of theCCvariable in select-compiler.sh if we didn't want to affect the build for others, but like you I'm inclined to believe it's not necessary.I'll also note that the risk here is if the release builds on POWER9 fail when executed on POWER8 so
-mcpu=power8/somewhere/ but that doesn't sound critical right now.richardlau commentedon Jul 24, 2026
I've added two new IBM Cloud hosted RHEL 8 POWER 8 compatibility mode VMs
I've taken the rhel8-ppc64le off the OSUOSL hosted VMs that are now POWER9.
Refs: #4407
richardlau commentedon Sep 4, 2026
I repurposed the "Power 8" (actually now Power 9) VMs at OSUOSL to RHEL 10 Power 10 as part of #4430. We're now in a consistent state.