Subject: RE: how can kernel space expand to >1GB?
To: Ming Lei , 'Stephan Uphoff' <>
From: Gary Thorpe <>
List: tech-kern
Date: 07/31/2003 22:41:35
 --- Ming Lei <mlei@Brocade.COM> wrote: > 
> thanks all. think remaping work is expensive though.
> -----Original Message-----
> From: Stephan Uphoff []
> Sent: Thursday, July 31, 2003 5:08 PM
> To: Ming Lei
> Cc: 'Jonathan Stone'; Jason Thorpe;;
> Subject: Re: how can kernel space expand to >1GB?
> Ming Lei wrote:
> > netbsd does have an config option to split kernel/user space to
> 1G/3G as
> > linux does. This option exists for every platform.
> > 
> > Jason, sorry that I didnt make myself clear in the previous emails.
> Let's
> > get an example, say I have kernel subsystem D(D is not an user
> app!) needs
> > to use *lots of memory* and I enable the code to use all the kernel
> memory
> > that I can grab. Do you think D has the limit of how much memory it
> can
> use?
> > 
> > I think D would first reach the limit posted by kernel 1GB virtual
> memory
> > restriction. When all the kernel virtual addess(1GB) are exhausted,
> and if
> D
> > wants even more memory(see there are still some phys memory left),
> how
> does
> > kernel do?
> > 
> > This is basically my question.
> > 
> > Thanks,
> > Ming
> NetBSD does not linearly map physical space into the kernel virtual
> space.
>>>>>>>>>>> You can however allocate purely virtual kernel space and
use it to
> map/unmap
> arbitrary physical pages later.
> Think of it as always using HIGHMEM.
> 	Stephan

Ok, here is what I think is being asked: can you make the kernel's
virtual address space larger than 1 GB i.e. can you make the "purely
virtual kernel space" _larger_, so that you can map/unmap _more_
physical pages later. How do you bump the virtual memory limit of the
kernel itself: how can you increase the size of the kernel's own page
tables? How can you make the kernel's virtual address space larger in
NetBSD so that you can say allocate 2GB of kernel memory on i386
instead of the current 1GB limit?
Remapping is not the issue: you cannot map anything into the kernel if
its address space is exhausted. FreeBSD and Linux ("ports"?) have knobs
to do this, does NetBSD also?

Post your free ad now!