>  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

Reply via email to