> The system still crashes with very large numbers of procs (I think it > is overrunning the static definition of libvx32/proc.c vxproc > *procs[VXPROCSMAX]), but for now spawning 64 tasks is ok for > development, but all the tests are shooting for 512. It would be nice > to get all the systems running consistently. Any suggestions are > greatly appreciated.
unless someone has broken 9vx since i last pulled, the code has that case handled. for (pno = 0; ; pno++) { if (pno == VXPROCSMAX) { errno = EAGAIN; return NULL; } if (procs[pno] == 0) break; } if you follow vxproc_alloc calls, you'll see that each caller checks the return value and does something reasonable. given this, main.c:318: conf.nproc = 100 + ((conf.npage*BY2PG)/MB)*5; main.c:319: if(conf.nproc > 2000) main.c:320: conf.nproc = 2000; i'd suspect that the real problem is you're not giving 9vx enough kernel memory. try setting kernelpercent to something largeish. but of course, i'm just guessing. it would be helpful to have some debugging output. - erik