Date: Fri, 05 Mar 2004 16:11:55 -0600 From: Jon Noack <noackjr@alumni.rice.edu> To: Vincent Poy <vince@oahu.WURLDLINK.NET> Cc: current@freebsd.org Subject: Re: -CURRENT kernel panic Message-ID: <4048FB2B.1020001@alumni.rice.edu> In-Reply-To: <20040305022226.T8264-100000@oahu.WURLDLINK.NET> References: <20040305022226.T8264-100000@oahu.WURLDLINK.NET>
next in thread | previous in thread | raw e-mail | index | archive | help
On 3/5/2004 6:23 AM, Vincent Poy wrote: > On Fri, 5 Mar 2004, Jon Noack wrote: >> On 3/4/2004 4:13 PM, Vincent Poy wrote: >>> On Thu, 4 Mar 2004, Andrew Gallatin wrote: >>>> Vincent Poy writes: >>>>> Interesting. I'm still wondering what the VM_KMEM_SIZE_SCALE >>>>> number represents. >>>> >>>> It tries to autoscale the kmem size, so that you don't need to hard >>>> code it. Hardcoding it could be bad if you change the amount of ram >>>> in the box. >>> >>> That part I understand but what exactly does the number 2 and 3 >>> mean? >> >> VM_KMEM_SIZE_SCALE: >> How many physical pages per KVA page allocated. >> >> <snip> > > I actually read that part already but is 2 basically 1/2 and 3 > actually just 1/3? That's the way I read it -- check out this comment again (from src/sys/i386/include/vmparam.h -- hopefully the formatting will be ok): > /* > * How many physical pages per KVA page allocated. > * min(max(VM_KMEM_SIZE, Physical memory/VM_KMEM_SIZE_SCALE), VM_KMEM_SIZE_MAX) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > * is the total KVA space allocated for kmem_map. > */ VM_KMEM_SIZE_SCALE is used to autoscale the value in this range: VM_KMEM_SIZE <= vm_kmem_size <= VM_KMEM_SIZE_MAX This ensures we have a reasonable minimum (VM_KMEM_SIZE) and maximum (VM_KMEM_SIZE_MAX) while making a fair effort at efficiently utilizing available memory (Physical memory/VM_KMEM_SIZE_SCALE). Jon Noack
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4048FB2B.1020001>