Nuno,
I know solaris will not schedule more processes (except the childs) on the CPUs i request from a practical experience view.
On Google i find:
"Both Linux and the Solaris OS support the notion of binding a process or thread to a processor. Linux allows binding to a set of processors for non-exclusive use of those processors. The Solaris OS allows binding to a set of processors for exclusive use, (that is, CPU fencing), but does not allow binding to a group for non-exclusive use (except via Solaris Zones?)"
As we spoke early on Gtalk, your workaround only works for two processors machine, because the processor binding is inherit all forks from init would never be out of processor Y in this case, and the third (n) processor would never receive any process. What a waste of money ;)
Yes, i knew about CPUSETs, but in that time it was need a kernel patch. Nowadays this is implement via filesystem and as you point out, this is already support on a vanilla kernel. Is a shame the
documentation for so important feature seams to be only available on kernel source.
Even with a ugly solution (mounts,mkdir,echos,wtf?) linux pass the test , now i can put some of them in pré-production environment to see what happens.