Good work indeed, Ron. All those bits and they all fit together!

I guess it also solves the Fortran etc. for Plan9 issue.

brucee

On 11/16/09, ron minnich <[email protected]> wrote:
> On Sun, Nov 15, 2009 at 9:26 AM, Paul Lalonde <[email protected]> wrote:
> > I'd be very interested in an ELF based cross-compilation to plan9.  I have
> > this many-core IA part that I would desperately love to boot a nicer OS on
> > than we currently have (memory footprint, scheduling, vm architecture,
> > syscall performance, remote exposure), but the principal application that
> > has to run on it is in C++.
> >
> > If there was a clear path, I might even be able to shake loose some
> > resources for it.
>
> on blue gene I use the IBM toolchain on Linux to produce static elf
> binaries. Since the non-Linux kernel on Blue Gene uses the Linux
> system call interface, these are in fact just Linux binaries compiled
> to the Linux 2.0 system call interface (plus some wacky system call
> numbers in the 1024 and up range).  I start these Linux/ELF binaries
> up on BG/P on Plan 9 using a support program that switches the process
> between plan 9 mode and linux mode. The support program on plan 9 uses
> libmach to crack the binaries and start them up. I have an in-kernel
> linux system call emulation device that lets me run those binaries. I
> support a subset of the system calls -- e.g., just enough of futex to
> make it go on BG/P -- but extending it is easy.
>
> I chose the in-kernel support as opposed to existing linuxemu support
> on Plan 9 for the usual HPC reason: when you're r unning the app
> nothing else should run.
>
> What's more interesting: I also build Plan 9 binaries on Linux/ELF
> that then run under the Linux emulation environment on Plan 9. Why the
> emulation environment? Well, the linux toolchain insists on building
> in the system calls. So I have a Linux/ELF, that does a few Linux
> system calls, that I drectly map to their Plan 9 equivalent
> (open/read/write/close -- pretty direct). Since pretty much everything
> I need to do on Plan 9 involves those 4, I've really got a native Plan
> 9 binary that happens to want to talk Linux system call numbers ...
> This way, I can run the *same* binary on Linux and Plan 9, and get
> very direct performance comparisons. And, yes, in some cases, Plan 9
> is winning :-)
>
> Anyway all that code is available.
>
> ron
>
>

Reply via email to