Re: Does process need to have a kernel-side stack all the time?

From: Denys Vlasenko
Date: Mon Apr 14 2008 - 14:46:22 EST


On Monday 14 April 2008 19:44, Andi Kleen wrote:
> > A lot of effort went into minimizing of stack usage.
> > If I understand it correctly, one of the reasons for this
> > was to be efficient and not have lots of pages
> > used for stacks when we have a lot of threads
> > (tens of thousands).
>
> Actually the real reason the 4K stacks were introduced IIRC was that
> the VM is not very good at allocation of order > 0 pages and that only
> using order 0 and not order 1 in normal operation prevented some stalls.
>
> This rationale also goes back to 2.4 (especially some of the early 2.4
> VMs were not very good) and the 2.6 VM is generally better and on
> x86-64 I don't see much evidence that these stalls are a big problem
> (but then x86-64 also has more lowmem).
>
> Note that your proposal doesn't change this at all.

Actually, it does, because if you have only N*no_of_CPUs stacks,
you can allocate them upfront, making fragmentation a non-issue.

However, the proposal doesn't look viable anyway.
--
vda
--
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/