Date: Mon, 20 May 2002 19:04:43 +0200 From: Bernd Walter <ticso@cicely5.cicely.de> To: freebsd-current@FreeBSD.ORG Subject: nbuf calculation broken (was: deadlock waiting for newbuf) Message-ID: <20020520170443.GA70468@cicely5.cicely.de> In-Reply-To: <20020520143935.GE68981@cicely5.cicely.de> References: <20020520133725.GB68981@cicely5.cicely.de> <20020520143935.GE68981@cicely5.cicely.de>
next in thread | previous in thread | raw e-mail | index | archive | help
nbuf on that 256M machine is only 50. All other values depend on it. If have neither configure NBUF in my kernconfig nor do I have set kern.nbuf in loader(8). In sys/kern/vfs_bio.c kern_vfs_bio_buffer_alloc() we have: if (nbuf == 0) { int factor = 4 * BKVASIZE / 1024; nbuf = 50; if (physmem_est > 4096) nbuf += min((physmem_est - 4096) / factor, 65536 / factor); if (physmem_est > 65536) nbuf += (physmem_est - 65536) * 2 / (factor * 5); if (maxbcache && nbuf > maxbcache / BKVASIZE) nbuf = maxbcache / BKVASIZE; } BKVASIZE should be OK. That means physmem_est must be < 4096 when kern_vfs_bio_buffer_alloc() is called. This points to vm_ksubmap_init() or below. -- B.Walter COSMO-Project http://www.cosmo-project.de ticso@cicely.de Usergroup info@cosmo-project.de To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020520170443.GA70468>