Raising the minimum required s390x CPU to z196?

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Raising the minimum required s390x CPU to z196?

Aurelien Jarno-2
Hi all,

The Debian s390x port currently officially defaults to the z900 ISA.
That's what our GCC defaults too, but I wouldn't be surprised if a few
packages use a slightly newer ISA.

Unfortunately more and more packages require a newer ISA, usually at
least z196. This is the case of at least nodejs, go and rustc. It should
be noted that it's not a question of passing the right flag to GCC, but
rather these packages have their own JIT compiler which has been written
for a z196 ISA minimum.

For go we currently use gccgo instead of golang, which is not really
an optimal solution and prevents many packages to build. For the same
reason rustc is not available on s390x, which might become problematic
soon (for example rsvg will require it soon). Finally recent versions
of nodejs require at least a z196 CPU, so we have to drop all nodejs
packages if we want to keep the baseline as z900.

In my opinion we don't really have any other choice than raising the
minimum ISA to z196, even if this CPU is less than 7 years old. The
the only other alternative I can think about would be to have people
committing to maintain patches lowering the minimum ISA for the above
packages. I started to work on that for go a few months ago, but
unfortunately that's a huge work as upstream keeps moving.

The ISA change would be done in testing/unstable and released for
Buster. Stretch would be unchanged in that regard and it will continue
to be supported for 2 more years.

Note also that it means that we would have to get rid of our older
build daemon, zemlinsky.d.o. We would still have 2 buildd daemons in 2
different locations left, which is enough to run the port. However that
would be appreciable to get a third one to fully secure the port.

Any opinion, or alternative solution?

Thanks,
Aurelien

--
Aurelien Jarno                          GPG: 4096R/1DDD8C9B
[hidden email]                 http://www.aurel32.net

signature.asc (849 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Raising the minimum required s390x CPU to z196?

Aurelien Jarno-2
On 2018-01-31 15:38, Aurelien Jarno wrote:

> Hi all,
>
> The Debian s390x port currently officially defaults to the z900 ISA.
> That's what our GCC defaults too, but I wouldn't be surprised if a few
> packages use a slightly newer ISA.
>
> Unfortunately more and more packages require a newer ISA, usually at
> least z196. This is the case of at least nodejs, go and rustc. It should
> be noted that it's not a question of passing the right flag to GCC, but
> rather these packages have their own JIT compiler which has been written
> for a z196 ISA minimum.
>
> For go we currently use gccgo instead of golang, which is not really
> an optimal solution and prevents many packages to build. For the same
> reason rustc is not available on s390x, which might become problematic
> soon (for example rsvg will require it soon). Finally recent versions
> of nodejs require at least a z196 CPU, so we have to drop all nodejs
> packages if we want to keep the baseline as z900.
>
> In my opinion we don't really have any other choice than raising the
> minimum ISA to z196, even if this CPU is less than 7 years old. The
> the only other alternative I can think about would be to have people
> committing to maintain patches lowering the minimum ISA for the above
> packages. I started to work on that for go a few months ago, but
> unfortunately that's a huge work as upstream keeps moving.
Note that both hercules and QEMU are able to simulate a z196 CPU, or at
least the facilities used by the Linux kernel and user land when built
for z196.

Aurelien

--
Aurelien Jarno                          GPG: 4096R/1DDD8C9B
[hidden email]                 http://www.aurel32.net

signature.asc (849 bytes) Download Attachment