> We only support the uninteresting sysmp(2) operations MP_PGSIZE,
> MP_NPROCS and MP_NAPROCS as part of the IRIX binary compatibility.
My patch covers MP_NPROCS, MP_NAPROCS, MP_EMPOWER, MP_RESTRICT,
MP_MUSTRUN, MP_RUNANYWHERE, MP_PSET (with MPPS_CREATE, MPPS_DELETE,
MPPS_ADD, MPPS_REMOVE, and my own extension MPPS_ASSIGN).
I'm sure it isn't binary compatible, but it should be
operation-compatible with sysmp(2) on IRIX, with two exceptions :
a) You can remove processors from the 'all' processor set
b) I've added MPPS_ASSIGN to the MP_PSET command to provide an API
associate a process with a process ID, because I couldn't find
official SG way to do this with the documentation I had.
As I say, I'm no kernel hacker, so the patch probably has race
conditions or inefficiencies which I've simply never thought of. My
crude implementation of sysmp(2) is also achieved using a user-space
> We don't yet support SMP - nobody has so far provided a SMP machine
> me plus the hardware documentation. However I think you might also
> consult about sysmp(2) and pset(1) with the people from
> email@example.com, the stuff is definately of interest to
> users of Alpha, i386 and Sparc systems on which SMP is supported.
Alan's said it can go into 2.3 ... I'm digging around to find out if
anyone more competent at kernel hacking has had a go at this first,
and the Linux/SGI list seemed the most obvious place to start ;-)
> Linux/MIPS is so far not yet a very widespread OS, but if you
> wish to port your code to Linux/MIPS, then I as one of the core
> developers would like to offer you my support. I'd also
> like to point out that Linux/MIPS as far as technically possible is
> binary compatible beyond the machines of just one manufacturer.
Thank you very much.
I guess the thing to do would be if you looked at the (admittedly old)
pset patch I already have:
Against an early 2.0 kernel, it works out-of-the-box on a
uni-processor machine if you compile the kernel to be SMP. On a true
SMP box, it doesn't work because it doesn't use the right CPU array -
I'm told this is a trivial fix.
I don't know what your baseline kernel release is; I'd be happy to put
the time in to produce a patch against your preferred kernel sources
if it would help.
Stuart Herbert firstname.lastname@example.org
Generic NQS Maintainer http://www.shef.ac.uk/~nqs