HEADS UP Re: cvs commit: src/sys/conf options.i386
src/sys/i386/i386 bios.c locore.s machdep.c mpboot.s pmap.c
vm86bios.s vm_machdep.c src/sys/i386/include _types.h bus_at386.h
jake at locore.ca
Sun Mar 30 15:14:17 PST 2003
Apparently, On Sun, Mar 30, 2003 at 03:30:52PM -0600,
Mike Silbersack said words to the effect of;
> On Sun, 30 Mar 2003, Jake Burkholder wrote:
> > > Do these changes allow something like a 3G KVA space without shrinking
> > > processes address spaces?
> > No, it doesn't make the virtual address space any bigger, it just allows
> > more physical memory. This is a bit of a problem because the tunables that
> > are based on physical memory size don't scale well past 4G of ram, its easy
> > to end up with may too many vnodes.
> Is it practically possible with PAE and busdma'd drivers that such a
> configuration could work?
I'm not sure I understand the question, you mean is it possible to use
separate address spaces for the kernel and userland, giving a full 4G each?
Yes it is possible, but it is not practical. It would be prohibitively
expensive and ugly. For example you would need to use task gates for
system calls, and copyin or copyout would need to look up the user pages
and map them temporarily, something like that.
Keep in mind that the restriction is what can be mapped. It is still
possible to keep around huge amounts of memory as long as its not all
mapped all the time. For example many device drivers just do dma and
don't need a virtual mapping for every chunk of memory they see, avoiding
mapping and unmapping it would save a lot of KVA.
More information about the cvs-src