Posts

Finally: long double's coming to Fedora 36


After literally years, proper support for 128-bit long double is finally arriving in Fedora 36 — and not without some churn (some of which is attributable to gcc 12), but this is a needed change to fix certain otherwise unfixable packages and the pain has to be borne sometime. The most notorious package affected by this is MAME but hopefully this work will unblock some others. Fedora 36 is scheduled for April.

Next JIT branch up


There hasn't been a lot of activity on Talospace because I've been busy on other OpenPOWER stuff. The POWER9 Firefox JIT has been transplanted to Firefox 97 (on a new branch) and compiles, links and basically runs (in the previous non-Ion configuration). Once the test suite is passing again, it's time to work on the final optimizing compiler stage hopefully in time to make Firefox 102 and the next ESR. You can help.

Firefox 96 on Power


Firefox 96 is out and after some usage of it I think I agree it's definitely lessened the load on the main thread, which is one of the lead features in this release (and our heavily multicore POWER9 systems can pick up the slack for everything else). There are also multiple improvements to HTML and CSS. Some of you with Emacs muscle memory will want to read the Developer section of the Release Notes, though (I have the Command key mapped instead so I can still use Mac muscle memory: set ui.key.accelKey to 91). Fortunately it all builds out of the box using the PGO-LTO patch and .mozconfigs from Firefox 95.

In Power ISA JIT news, the patches and JIT backend have been merged into my copy of Firefox 97 and I'm ensuring it builds and passes tests before working on the third and final stage, the optimizing compiler. This will test some code paths that haven't been tested before, so I do expect this will be slower, but we're still aiming to get this done by May in time to get into the Firefox tree for the next ESR (102). Once I have the base in, there will be a new branch on Github you can work with (and contribute to!). I'm gratified to hear from folks who have tested the current 2-stage JIT in 91ESR and it looks like it's working well. More to come soon.

Another PowerPC in space


The last POWER1 on Mars may be dead, but there are still Power ISA chips out there in space. The newest one to join them is another BAE RAD750 (a radiation-hardened PowerPC 750, the processor generation Apple called a G3) in the James Webb Space Telescope Integrated Science Instrument Module, clocked at a ripping 118MHz (.pdf) with 44MB of RAM and appears to run VxWorks. The JWST managed to flawlessly open its sunshield this weekend made from multiple layers of fragile Kapton as thin as a human hair unfolding "like origami." Can't wait to see the photos it will produce.

CentOS 8 is an ex-distro (but AlmaLinux is not)


Among the many bad things that happened in 2021 was the official end of CentOS 8, which hit EOL at the end of the calendar year (but if you were running on CentOS 7, which is POWER9-compatible, you're golden until June 2024). CentOS Stream is a thing, though, and for those of you who want something a little less, uh, bubbly than Fedora but more current than RHEL, it's an option.

Still, the loss of CentOS's celebrated stability guarantee stings, and for some of you so will the price of an RHEL subscription, which is why at least two distros sprang up to be the next "CentOS classic": Rocky Linux and AlmaLinux. Currently, Rocky Linux doesn't list a Power ISA build on its main download page or alternative architectures page. On the other hand, AlmaLinux 8.5 is now available as a beta for ppc64le (read the release notes), and claims full 1:1 binary compatibility with RHEL 8.5 to purportedly allow an almost literal drop-in experience; a single command will swap repositories and keys from CentOS 8.x. AlmaLinux states it will be supported until at least 2029.

W(h)ither POWER8


With the recent announcement that Ubuntu's ppc64le ("ppc64el") flavour is moving to require POWER9, it's worth asking not only how much life is in POWER8, but also POWER9, now that Power10 (such as it is) is now available.

POWER8 was the first OpenPOWER processor and the one planned for the original Raptor Talos (that never got released to the public), but also appeared in several third-party systems, largely by Tyan. It offered fully open firmware and while it exclusively required Centaur memory buffer chips, these could be on riser cards, interposers or even on the logic board to allow attaching regular ECC DIMMs. It introduced ISA 2.07, which among other features expanded on the vector-scalar extension instructions first introduced in POWER7 (called VSX-2 in 2.07).

POWER8 systems are certainly more widely distributed than previous generations which since about POWER5 were almost exclusively IBM, and they were also the first Power ISA CPU with a fully-functioning little-endian mode (the POWER7 implementation had gaps), which caused it to rapidly become the baseline for most distributions supporting Power. But POWER9 is even more widely distributed, not least of which because of "low end" systems like this Talos II and the Blackbird, uses 25% less power but is 50% faster than a chip that was already two to three times faster than POWER7, and has even more advantages in terms of instruction set; ISA 3.0 expands VSX further (VSX-3) and also adds a number of other useful instructions. The current incarnation of our Firefox JIT, for example, leverages new POWER9-specific instructions for remainders, accessing the program counter and 64-bit byte swapping. All this, and it's still a fully open architecture with fully open firmware.

On the other hand, Power10 is presently a step backwards. Putting its otiose binary blobs aside for the moment, there are only a few Power10 SKUs in its current infancy, none of them are workstations, and none of them don't say IBM. No Power10 hardware takes direct attach RAM, not even like the POWER8 did. No ODM has a channel for obtaining the actual CPUs. If there's a Rainier reference design to work from, no one seems to be talking about it. It's almost back to the bad old days when IBM wouldn't sell me a POWER7 and nobody else made one (my long-running POWER6 was a reseller purchase).

If Ubuntu's move is the first of many to decommission POWER8 support, that's still over six years as a first-tier citizen (almost five as second fiddle to POWER9), and no one else so far has talked about a similar move. (Even if RHEL 9 goes POWER9+ only, RHEL 8 would presumably support your POWER8 until 2029.) It's sad to see it happen but POWER9, besides being easier to get, is an improvement in virtually every way and in ways Power10 right now is not. Besides the fact IBM's still selling POWER9 machines, the chip's time on top and its wider distribution are good signs for the first Power CPU in years to be in purpose-built desktops and more third-party servers. Nearly five years atop the heap buys you a lot of market penetrance especially with a questionable successor. While all good things must come to an end, POWER8's death is hardly imminent, and POWER9's is nowhere yet in sight.