Re: [2.6 patch] i386: always use 4k stacks

Arjan van de Ven
2005-12-17T20:47:35Z

On Sat, 2005-12-17 at 21:23 +0100, Paul Rolland wrote:
> Hello,
>
> > One comment on x86-64 vs. x86: There are restrictions on where in
> > memory your process stacks can be located on a 32-bit
> > platform. They
> > need to reside in lowmem, which means under certain circumstances
> > your lowmem can get too fragmented to create new processes even
> > though you still have a lot of available RAM.
>
> But where does these restrictions come from ? As far as I know, stack
> is referenced to by SS:ESP registers, and nothing in the x86 architecture
> prevents them from pointing outside of lowmem... Isn't this simply a
> Linux design restriction ?

lowmem is a linux design restriction; only lowmem is directly
addressable.

(also remember that you can have 36 bits of physical ram, but only 32
bit in a pointer, so even if lowmem wasn't 870Mb itd be limited to 4Gb)