I'm a little bias because my company is a re-sellers of the HP Itanium
ia64 hardware (RX & ZX boxes), as well as PA-RISC. For that reason, I
would hate to see it fade away in any sector. The ia64 platform is still widely used with HP-UX Unix and Open VMS users worldwide. This hardware
is embedded in most every data center and large and medium companies
that have been around since the 80s/90s, its probably the oldest box
they have in there but its the one thats in the corner running for 20
years, long before most people started working there. PA-RICS is also massively intertwined into the US military as well as foreign
military's, they did that in the early 2000's and they are stuck with it..
I could go on but me as a hardware guy, I'm on team ia64 :-)
(cross posted to several ia64 related mailing list)
Hello all,
As the maintainer of the EFI subsystem in Linux, I am one of the
people that have to deal with the impact that code refactoring for
current platforms has on legacy use of such code, in this particular
case, the use of shared EFI code in the Itanium Linux port.
I am sending this message to gauge the remaining interest in ia64
support across the OS/distro landscape, and whether people feel that
the effort required to keep it alive is worth it or not.
As a maintainer, I feel uncomfortable asking contributors to build
test their changes for Itanium, and boot testing is infeasible for
most, even if some people are volunteering access to infrastructure
for this purpose. In general, hacking on kernels or bootloaders (which
is where the EFI pieces live) is tricky using remote access.
The bottom line is that, while I know of at least 2 people (on cc)
that test stuff on itanium, and package software for it, I don't think
there are any actual users remaining, and so it is doubtful whether it
is justified to ask people to spend time and effort on this.
And for GRUB in particular (which is what triggered this message), it
is unclear to me why any machines still running would not be better
served by sticking with their current bootloader build, rather than
upgrading to a new build with a refactored EFI layer where the best
case scenario is that it boots the kernel in exactly the same way,
while there is a substantial risk of regressions.
For the Linux kernel itself, the situation is quite similar. There is
a non-zero effort involved in keeping things working, and if anyone
still needs to run their programs on Itanium, it is not clear to me
why that would require a recent version of the OS.
So bottom line: I am proposing we drop support for Itanium across the
board. Would anyone have any problems with that?
On 12.05.23 17:57, Ard Biesheuvel wrote:
The bottom line is that, while I know of at least 2 people (on cc)
that test stuff on itanium, and package software for it, I don't think
there are any actual users remaining, and so it is doubtful whether it
is justified to ask people to spend time and effort on this.
While I get your argument, I also find it important to be able to
innovate without destroying the past. And with the already severly
limited choice of current architectures for the masses (x86, arm), it
becomes even more important to keep what we have or had in the past, to
not end in a "If all you have is a hammer, everything looks like a
nail." type of future.
From the userspace side, the issue is not so much testing (if webother to test our changes at all, we can use emulation), but
Dear Ard, all,
First of all, I demand nothing of other people in this regard, you
included. Please notice there's no "but" attached.
I think I have a little first-hand knowledge about how much effort is involved in keeping an interesting architecture from the past running,
to the least since when I thought it would be a cool idea to maintain
the retired sgi port of OpenBSD...
I have a few remarks below...
On 12.05.23 17:57, Ard Biesheuvel wrote:
(cross posted to several ia64 related mailing list)
Hello all,
As the maintainer of the EFI subsystem in Linux, I am one of the
people that have to deal with the impact that code refactoring for
current platforms has on legacy use of such code, in this particular
case, the use of shared EFI code in the Itanium Linux port.
I am sending this message to gauge the remaining interest in ia64
support across the OS/distro landscape, and whether people feel that
the effort required to keep it alive is worth it or not.
As a maintainer, I feel uncomfortable asking contributors to build
test their changes for Itanium, and boot testing is infeasible for
most, even if some people are volunteering access to infrastructure
for this purpose. In general, hacking on kernels or bootloaders (which
is where the EFI pieces live) is tricky using remote access.
That is all doable, at least all HP Integrity gear I am familiar with -
and which surely make up the majority of ia64 machines in hobbyist use -
are equipped with full remote control (console, reset, power, etc.). The
main problem at least in Germany is the insanity of our energy prices,
which were already too high before they skyrocketed in the recent past.
But you also wrote:
The bottom line is that, while I know of at least 2 people (on cc)
that test stuff on itanium, and package software for it, I don't think there are any actual users remaining, and so it is doubtful whether it
is justified to ask people to spend time and effort on this.
While I get your argument, I also find it important to be able to
innovate without destroying the past. And with the already severly
limited choice of current architectures for the masses (x86, arm), it
becomes even more important to keep what we have or had in the past, to
not end in a "If all you have is a hammer, everything looks like a
nail." type of future.
And for GRUB in particular (which is what triggered this message), it
is unclear to me why any machines still running would not be better
served by sticking with their current bootloader build, rather than upgrading to a new build with a refactored EFI layer where the best
case scenario is that it boots the kernel in exactly the same way,
while there is a substantial risk of regressions.
Sure, and every ia64 machine I have still network boots fine with elilo,
even the rx2800-i2. Though most people still have their root FS on disk, where elilo might limit the choice of the bootstrap file system(s).
Plus elilo is gone from the Debian repositories, just like yaboot,
leaving grub2 as the only bootloader for ia64 there at the moment - if
I'm not mistaken. And I assume Adrian invested quite some time and work
to get grub2 usable as default boot loader for ia64 in Debian.
But apart from this - also from other posts - it is pretty obvious that
you seem to be absolutely determined to remove ia64 support from the
Linux ecosystem. So removing it from the bootloader is just a step stone
to removing ia64 support from the Linux kernel and a discussion about
the bootloader seems futile then.
For the Linux kernel itself, the situation is quite similar. There is
a non-zero effort involved in keeping things working, and if anyone
still needs to run their programs on Itanium, it is not clear to me
why that would require a recent version of the OS.
So bottom line: I am proposing we drop support for Itanium across the board. Would anyone have any problems with that?
Of course I would have a problem with that. AFAIK GNU/Linux is the last
free OS for these machines. And I don't see those machines as museum
pieces yet, but as options for interested people, coming back to the
hammer and nail thing from above.
But I demand nothing of you. And to be honest I can't contribute at this level to ia64, as I just don't have the required expertise for this type
of hacking.
Apart from that I'd like to thank all people involved in keeping those interesting systems afloat for the good times I had and have on ia64 and other interesting architectures and machines.
On Wed, 17 May 2023 at 20:39, Frank Scheiner <frank.scheiner@web.de> wrote:
On 12.05.23 17:57, Ard Biesheuvel wrote:
The bottom line is that, while I know of at least 2 people (on cc)
that test stuff on itanium, and package software for it, I don't think
there are any actual users remaining, and so it is doubtful whether it
is justified to ask people to spend time and effort on this.
While I get your argument, I also find it important to be able to
innovate without destroying the past. And with the already severly
limited choice of current architectures for the masses (x86, arm), it
becomes even more important to keep what we have or had in the past, to
not end in a "If all you have is a hammer, everything looks like a
nail." type of future.
I don't disagree with that. But why does this imply that Linux should
be kept alive on an architecture that is not used by anyone to run
Linux in the first place? Could you be more specific about how you see
this correlation?
And for GRUB in particular (which is what triggered this message), it
is unclear to me why any machines still running would not be better
served by sticking with their current bootloader build, rather than
upgrading to a new build with a refactored EFI layer where the best
case scenario is that it boots the kernel in exactly the same way,
while there is a substantial risk of regressions.
Sure, and every ia64 machine I have still network boots fine with elilo,
even the rx2800-i2. Though most people still have their root FS on disk,
where elilo might limit the choice of the bootstrap file system(s).
So which Linux versions are you running on these machines? And what
are you using them for (if you don't mind me asking)?
Plus elilo is gone from the Debian repositories, just like yaboot,
leaving grub2 as the only bootloader for ia64 there at the moment - if
I'm not mistaken. And I assume Adrian invested quite some time and work
to get grub2 usable as default boot loader for ia64 in Debian.
Sure. But I am not suggesting retroactively removing ia64 support from
GRUB. As I explained, both the firmware interfaces and the Linux boot protocol are essentially set in stone at this point, so upgrading to a
newer GRUB has no upsides.
But apart from this - also from other posts - it is pretty obvious that
you seem to be absolutely determined to remove ia64 support from the
Linux ecosystem. So removing it from the bootloader is just a step stone
to removing ia64 support from the Linux kernel and a discussion about
the bootloader seems futile then.
Not at all.
As a Linux subsystem maintainer, I have to keep the bigger
EFI picture in mind when I accept contributions from people who may
work on many different topics and projects, and move on to something
else immediately. So generally, the responsibility of balancing the
interests of different EFI stakeholders falls to me, and I have to
decide how much emphasis to put on build and boot testing across architectures and use cases, for instance. So what purpose is being
served by either them or me spending a disproportionate amount of time
build and boot testing code that nobody is ever going to run?
Up to this point, not a single person has indicated that Linux on ia64
is important for an actual use case.
The only responses I am getting
(which are much appreciated, don't get me wrong) generally state that
ongoing ia64 support is important for the common good, but nobody
actually uses Linux/ia64 for anything other than checking whether it
still works, and churning out distro packages that nobody ever
downloads.
For the Linux kernel itself, the situation is quite similar. There is
a non-zero effort involved in keeping things working, and if anyone
still needs to run their programs on Itanium, it is not clear to me
why that would require a recent version of the OS.
So bottom line: I am proposing we drop support for Itanium across the
board. Would anyone have any problems with that?
Of course I would have a problem with that. AFAIK GNU/Linux is the last
free OS for these machines. And I don't see those machines as museum
pieces yet, but as options for interested people, coming back to the
hammer and nail thing from above.
By 'interested people' you mean other people than yourself, right?
But I demand nothing of you. And to be honest I can't contribute at this
level to ia64, as I just don't have the required expertise for this type
of hacking.
Apart from that I'd like to thank all people involved in keeping those
interesting systems afloat for the good times I had and have on ia64 and
other interesting architectures and machines.
Again, your insight is much appreciated, even if we fundamentally disagree.
There is no user-mode emulation for ia64 in QEMU either. The only
"ongoing" emulation work is Sergei's fork of the old "ski" emulator, but
this is far from QEMU quality or even usable yet: https://github.com/trofi/ski
Anyway, to summarize this thread for Ard: the answer to the question of
if anybody is using these machines for anything other than to
experimentally see if things run or churn out packages is NO. Any
Itanium machines running useful production workloads are on HP-UX/VMS. Possibly Windows Server 2008 or an old RHEL, but unlikely.
The only argument for continued support is as you described, the
argument from the commons, that the ecosystem as a whole benefits from diversity of architectures. All that matters is whether you find this argument convincing. There are some like myself who do, but I am not a kernel maintainer. If you don't, then that should be that.
Hi Jushua,
On 20.05.23 20:11, Joshua Scoggins wrote:
I used to daily drive my own zx6000 (and had a zx2000 and rx5670 as
well) back in 2008-2012. I was running Gentoo Linux on it and it was for the most part fine. I got Firefox 9 working and even Minecraft! What
I've observed is that GCC's support for ia64 seems to have bit rotted
over time (I've encountered internal compiler errors over the years on seemingly standard C++ code).
While I still have the zx6000, I haven't booted in at least 5 years. I don't fully trust contemporary versions of GCC to not generate
potentially garbage code (unless things have changed).
It could interesting to see, how it behaves with Debian Sid and Linux
6.3.x (see [1]). I figure the zx6000 is a rx2600 in disguise, I have a
rx2620 working and believe to have seen others with a rx2600 reporting success some time ago on this list. What Itaniums do you have in there, Madisons or original McKinleys?
[1]: https://lists.debian.org/debian-ia64/2023/05/msg00010.html
Cheers,
Frank
LLVM dropped support for ia64 in 3.0.
Other projects such as LLVM, OpenJDK and Ruby already support native code generation
support for ia64 although OpenJDK still works using the Zero port.
* matoro:
There is no user-mode emulation for ia64 in QEMU either. The only "ongoing" emulation work is Sergei's fork of the old "ski" emulator, but this is far from QEMU quality or even usable yet: https://github.com/trofi/ski
Yeah, I must have misremembered. Awkward.
So it's a really exclusive club, which makes continued maintenance
efforts even more doubtful.
I have been thinking about this discussion for a while now and my suggestion would be to drop ia64 support from the kernel, GRUB and gcc/binutils/glibc in this order:
- Kernel: After the next LTS release
- GRUB: After the 2.12 release
- gcc/binutils/glibc: After support was dropped from the kernel
This way anyone still using ia64 will be able to use it with a supported codebase
for an extended time and upstream projects have target releases for which they
can plan the removal.
(cc Greg as stable maintainer)
On Sat, 20 May 2023 at 21:23, John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> wrote:
...
I have been thinking about this discussion for a while now and my suggestion
would be to drop ia64 support from the kernel, GRUB and gcc/binutils/glibc in
this order:
- Kernel: After the next LTS release
- GRUB: After the 2.12 release
- gcc/binutils/glibc: After support was dropped from the kernel
This way anyone still using ia64 will be able to use it with a supported codebase
for an extended time and upstream projects have target releases for which they
can plan the removal.
Yeah, I think this is reasonable. Having a clear agreement on where
the support ends helps both the remaining users and the developers
eager to move on.
My only question is how we would land fixes for ia64 into this Linux
LTS release if there is no upstream any longer to draw from.
Greg, could you comment on this?
On Mon, May 22, 2023 at 09:08:35AM +0200, Ard Biesheuvel wrote:
(cc Greg as stable maintainer)
On Sat, 20 May 2023 at 21:23, John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> wrote:
...
I have been thinking about this discussion for a while now and my suggestion
would be to drop ia64 support from the kernel, GRUB and gcc/binutils/glibc in
this order:
- Kernel: After the next LTS release
- GRUB: After the 2.12 release
- gcc/binutils/glibc: After support was dropped from the kernel
This way anyone still using ia64 will be able to use it with a supported codebase
for an extended time and upstream projects have target releases for which they
can plan the removal.
Yeah, I think this is reasonable. Having a clear agreement on where
the support ends helps both the remaining users and the developers
eager to move on.
My only question is how we would land fixes for ia64 into this Linux
LTS release if there is no upstream any longer to draw from.
Greg, could you comment on this?
That would imply that people actually used that arch and code, so why
would it have been removed from Linus's tree?
And there's nothing "special" about LTS releases for features like this,
just drop the code when no one is using it and all is good.
On Mon, 22 May 2023 at 09:39, Greg Kroah-Hartman
<gregkh@linuxfoundation.org> wrote:
On Mon, May 22, 2023 at 09:08:35AM +0200, Ard Biesheuvel wrote:
(cc Greg as stable maintainer)
On Sat, 20 May 2023 at 21:23, John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> wrote:
...
I have been thinking about this discussion for a while now and my suggestion
would be to drop ia64 support from the kernel, GRUB and gcc/binutils/glibc in
this order:
- Kernel: After the next LTS release
- GRUB: After the 2.12 release
- gcc/binutils/glibc: After support was dropped from the kernel
This way anyone still using ia64 will be able to use it with a supported codebase
for an extended time and upstream projects have target releases for which they
can plan the removal.
Yeah, I think this is reasonable. Having a clear agreement on where
the support ends helps both the remaining users and the developers
eager to move on.
My only question is how we would land fixes for ia64 into this Linux
LTS release if there is no upstream any longer to draw from.
Greg, could you comment on this?
That would imply that people actually used that arch and code, so why
would it have been removed from Linus's tree?
As far as we have been able to establish, the only people that use
this arch and code are people that would hate to see it go, but don't actually use it for anything other than checking whether it still
boots, and don't have the skills or bandwidth to step up and maintain
it upstream.
As far as we have been able to establish, the only people that use
this arch and code are people that would hate to see it go, but don't
actually use it for anything other than checking whether it still
boots, and don't have the skills or bandwidth to step up and maintain
it upstream.
Great, then let's drop it today, there is no need to wait until the end
of the year as nothing is going to change then.
I think this also puts the existing stable and LTS trees in some interesting state. After arch/ia64 is removed, there may be some tree-wide change
that gets backported to stable & LTS. That may break arch/ia64 in those
trees (e.g. because arguments to some common function are changed).
Maybe just deal with that if it happens ... and if anyone notices ... are there
automated builds and boot test for ia64 in those trees?
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 349 |
Nodes: | 16 (0 / 16) |
Uptime: | 144:47:24 |
Calls: | 7,614 |
Calls today: | 2 |
Files: | 12,790 |
Messages: | 5,684,750 |
Posted today: | 2 |