Re: [PATCH] 1-2-3 GB

Andrea Arcangeli (andrea@suse.de)
Sat, 12 Jan 2002 18:42:16 +0100


On Sat, Jan 12, 2002 at 12:26:35PM -0500, Albert D. Cahalan wrote:
> Andrea Arcangeli writes:
> > On Fri, Jan 11, 2002 at 11:32:37PM -0800, H. Peter Anvin wrote:
> >> By author: rwhron@earthlink.net
>
> >>> --- linux.aa2/arch/i386/config.in Fri Jan 11 20:57:58 2002
> >>> +++ linux/arch/i386/config.in Fri Jan 11 22:20:32 2002
> >>> @@ -169,7 +169,11 @@
> >>> if [ "$CONFIG_HIGHMEM64G" = "y" ]; then
> >>> define_bool CONFIG_X86_PAE y
> >>> else
> >>> - bool '3.5GB user address space' CONFIG_05GB
> >>> + choice 'Maximum Virtual Memory' \
> >>> + "3GB CONFIG_1GB \
> >>> + 2GB CONFIG_2GB \
> >>> + 1GB CONFIG_3GB \
> >>> + 05GB CONFIG_05GB" 3GB
^^ this should be 3.5GB btw
> >>> fi
> >>
> >> Calling this "Maximum Virtual Memory" is misleading at best. This is
> >> best described as "kernel:user split" (3:1, 2:2, 1:3, 3.5:0.5);
> >> "maximum virtual memory" sounds to me a lot like the opposite of what
> >> your parameter is.
> >
> > actually it is really max virtual memory.. but from the user point of
> > view, user is supposed to care about the virtual memory he can manage,
> > not about what the kernel will do with the rest. So if the user wants
> > 3GB of virtual memory available to each task he will select 3GB. I
> > really don't mind if you want to change it from the kernel point of
> > view, but given it's the user who's supposed to compile it, also the
> > current patch looks good enough to me.
>
> The numbers are wrong anyway, because of vmalloc() and PCI space.
> The PCI space is motherboard-dependent AFAIK, but you could at
> least account for the 128 MB vmalloc() area:

looks dirty, the size of the kernel direct mapping is mainly in function
of #defines that can be changed freely, they're not constant in function
of CONFIG_1G etc.. and it changes also in function of smp/up/4G/64G
options. The 3GB/2GB/1GB/3.5GB visible into the menuconfig are exact
instead. So I wouldn't mention inprecise stuff that can changed under
us (and the exact size of the kernel direct mapping doesn't matter to
the user anyways I think [and if it matters I think it means he's
skilled enough to know about vmalloc space ;) ]).

>
> user virtual space / non-kmap physical memory
>
> 3584/384
> 3072/896
> 2048/1920
> 1024/2944 (sure this works, even for syscalls w/ bad pointers?)
> 512/3456 (sure this works, even for syscalls w/ bad pointers?)

Andrea
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/