Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 4 Jun 2010 14:53:36 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        Alan Cox <alc@cs.rice.edu>
Cc:        Matthew D Fleming <mdf356@gmail.com>, Clifton Royston <cliftonr@lava.net>, alc@freebsd.org, Garrett Cooper <yanefbsd@gmail.com>, freebsd-stable@freebsd.org, Jeremy Chadwick <freebsd@jdc.parodius.com>
Subject:   Re: Locking a file backed mdconfig into memory
Message-ID:  <201006041453.36467.jhb@freebsd.org>
In-Reply-To: <4C093EB5.3060406@cs.rice.edu>
References:  <201005272348.o4RNmgWh014243@hugeraid.jetcafe.org> <20100604153210.GA8522@amaretto> <4C093EB5.3060406@cs.rice.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
On Friday 04 June 2010 1:58:13 pm Alan Cox wrote:
> Matthew D Fleming wrote:
> > On Fri, Jun 04, 2010 at 08:20:49AM -0400, John Baldwin wrote:
> >   
> >> Hmmm, I would just try increasing NKPT then.  You might have to poke 
> >> around in sys/amd64 to see what the default size is and how to tune 
> >> it.
> >>     
> >
> > When Isilon did the stable/7 merge and amd64 default NKPT changed from 
> > 240 to 32 amd64 started having weird pmap issues during boot.  At panic 
> > time the stack wasn't very useful, and I didn't finish debugging the 
> > issue since eventually I just had to get something working.  We just 
> > reverted NKPT to 240 and it worked for us.  I didn't see an anything in 
> > optsions.amd64 so I hard-coded it in amd64/include/pmap.h.
> >
> > Supposedly amd64 can deal with a small NKPT and grow dynamically, but it 
> > didn't seem to work for us. :-( Perhaps when we do the next merge 
> > project I'll have a few days to devote to debugging the root cause.
> >   
> 
> NKPT controls the number of page table pages that are initially 
> allocated at the bottom of the top 2GB of the kernel address space.  
> However, the vast majority of the kernel address space, 510GB in FreeBSD 
>  >=7.3, is below these page table pages.  The page table pages for this 
> region are dynamically allocated as needed.
> 
> If you're booting a kernel and modules greater than 64GB in size, then I 
> can certainly see why you would need to increase NKPT.

64GB seems like a lot of address space, I would not expect that to be 
completely used by kernel and modules.  I think earlier in the thread someone 
said they had problems with a "mere" 295MB mfsroot.

> John, is there some way to know at boot time how big the kernel and 
> modules were?  Then, we could probably eliminate NKPT.

I think the loader knows, so it could pass that info to the kernel.

-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201006041453.36467.jhb>