From mboxrd@z Thu Jan 1 00:00:00 1970 From: erik quanstrom Date: Thu, 26 May 2011 14:58:11 -0400 To: 9fans@9fans.net Message-ID: <242134316844bdf04a63ebc86cbd5cab@ladd.quanstro.net> In-Reply-To: References: <35f361459403c30512191d203286cd76@swcp.com> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Subject: Re: [9fans] 9vx patches [was: 9vx bootimage build instructions?] Topicbox-Message-UUID: e951ce44-ead6-11e9-9d60-3106f5b1d025 > 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