Re: Who wants to build a mips64 and/or mips64el n32 port?
On Thu, Feb 02, 2012 at 03:38:27PM -0800, David Daney wrote:
> On 02/02/2012 02:42 PM, Aurelien Jarno wrote:
> >On Wed, Feb 01, 2012 at 03:56:33PM -0800, David Daney wrote:
> >>We (Cavium, Inc.) are interested in working with one or more people
> >>to create a MIPS 64 port of Debian. As part of the effort, we can
> >>make available one or more fairly high end machines. These would be
> >>cn5650 (12 CPU SMP) based, or similar, with 4GB of RAM and a large
> >>SATA disk.
> >>See: http://cavium.com/OCTEON-Plus_CN56XX.html
> >>These are running unmodified Linux 3.2 kernels with mips/Squeeze
> >>installed and at first would be big-endian only.
> >>We can also run little-endian in the future, but we are interested
> >>in attacking the big-endian problem first.
> >I think Debian would be interested in having a 64-bit MIPS port, but the
> >main problem is to have enough people interested and providing manpower.
> >The current mips and mipsel ports are not in a very good state, and are
> >already lacking manpower to fix the existing issues. That's why this
> >part is important, and it would be difficult to convince the release
> >team and the community in general to add a 3rd mips(el) port if the
> >already existing ones are not well maintained.
> Although nothing can be guaranteed, I think there might be more
> interest in fixing problems in a port if the port addressed our
> needs. If you look at the types of MIPS machines out there where
> running a full distribution makes sense, there are many 64-bit
> systems. Old SGI gear off of e-bay, Cavium, Loongson, etc.
That's probably a good point, but let me ask you what are exactly your
needs? That's probably something very important to define before
starting a new port. If you are interested by speed, you can start a n32
port with loongson3 or MIPS64R2 instruction set, but on the other hand
less users will be interested by such a port. Same, do you want a
hard-float port, soft-float? The problem there is to find the right
compromise between feeling your needs and interesting as many users (and
potential contributors) as possible.
Unfortunately new embedded hardware is still using MIPS32 based cores,
so a n32 port can't work on it. That's why with limited manpower we
prefer to have only a o32 port in Debian.
> >About the n32 port, I have to say I am not sure it's a good idea to go
> >for 32-bit nowadays. As far as I know n32 is still limited to a 2GB
> >memory space, and this already causes some issues in Debian. More and
> >more code reaches this limit (including GCC), issuing the now famous
> >"Virtual memory space exhausted". IMHO architectures with a 2GB memory
> >space will have a very limited life in Debian, that's why for example
> >the s390 port is being replaced by the s390x port. Architecture with 4GB
> >memory space can probably live a bit longer though.
> Right, I have several thoughts on this:
> o The kernel was recently changed to allow all of the 2GB to be used
> instead of about only 2/3 of it, so with a recent kernel things
> would be a little better.
That would help a bit yes, but the experience on other architectures
shows that it is not enough.
> o I do native n32 builds of GCC on an almost weekly basis (all
> languages except ada), and have never seen exhaustion of VM space.
The problem is not building GCC, but the use of GCC to build code, in
short GCC sometimes needs more than 2GB of memory to build some
> o Intel has just come out with a new LP32 ABI on linux (similar to
> n32) to address performance issues with the x86_64 ABI. To me this
> validates the idea that we want most things running as n32.
First of all this port has access to 4GB of virtual memory instead of
2GB for MIPS n32. I think it would have been a great idea a few years
ago, but until such a port will get ready, the need for 4GB of virtual
memory space will be even more common.
To me the fact that ARM is going to release a 64-bit of their
architecture shows that there is a real need for that. Also on the
server side, 32-bit ports of powerpc or s390 is getting deprecated in
favor of a full 64-bit version. It's not a Debian decision, but rather
an IBM decision, upstreams and distributions are just following it.
BTW, do we have any benchmarks about n32 versus n64 performances? I
agree it means all pointers are 64-bits, but memory is cheap nowadays
(especially on machines the n32 port is targeting), so the only problem
I see is on the performances side.
> >So if a new MIPS port is created, I really advise to create a full
> >64-bit port.
> I would like that too, but really as something that could be mixed
> and matched in a single instalation. But it would be more work to
> do both n64 and n32.
Multiarch in Debian will allow a user to mix both n32 and n64, but it
still needs the two ports to be created.
Aurelien Jarno GPG: 1024D/F1BCDB73