Re: Why does the kernel need a gig of VM?

From: Josh Boyer
Date: Fri Jan 28 2005 - 16:05:18 EST


On Fri, 2005-01-28 at 15:06 -0500, John Richard Moser wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Can someone give me a layout of what exactly is up there? I got the
> basic idea
>
> K 4G
> A 3G
> A 2G
> A 1G
>
> App has 3G, kernel has 1G at the top of VM on x86 (dunno about x86_64).
>
> So what's the layout of that top 1G? What's it all used for? Is there
> some obscene restriction of 1G of shared memory or something that gets
> mapped up there?
>
> How much does it need, and why? What, if anything, is variable and
> likely to do more than 10 or 15 megs of variation?

Because of various reasons. Normal kernel space virtual addresses
usually start at 0xc0000000, which is where the 3GiB userspace
restriction comes from.

Then there is the vmalloc virtual address space, which usually starts at
a higher address than a normal kernel address. Along the same lines are
ioremap addresses, etc.

Poke around in the header files. I bet you'll find lots of reasons.

josh

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