Subject: Re: per-cpu TSS
To: Nathan J. Williams <nathanw@wasabisystems.com>
From: Bang Jun-Young <junyoung@NetBSD.org>
List: port-i386
Date: 11/16/2003 02:11:32
On Fri, Nov 14, 2003 at 12:04:29PM -0500, Nathan J. Williams wrote:
> Jaromir Dolecek <jdolecek@NetBSD.org> writes:
>
> > I'd perhaps return to the core of argument, that being
> > the proposed change to eliminate the upper cap on number
> > of LWPs on NetBSD/i386. Given that it took some 10 years
> > to actually start tackle the TSS limitation, it should
> > be done in some form or another finally IMHO.
>
> "It should be done in some form or another? Is that true? Why should
> it be done at all? Sure, it's conceptually bad to be limited to a
> fixed number of LWPs, but is it a practical problem? What we're seeing
> in this discussion is that there are side effects to the change beyond
> simply removing a cap, and so we have to consider whether it's a cap
> that is actually causing trouble.
One of problems in the current GDT management is that the GDT only
grows and never shrinks. There was gdt_compact() (and others) some
time ago, but unfornately, it caused a kernel crash (PR#9368). Worse
is, nobody could fix it for years. So somebody commented it out, fvdl
removed $if 0'ed gdt_compact(), and I removed #if 0'ed gdt_shrink().
By adopting yamt's per-CPU TSS, you don't have to care about memory
leakage caused by massive process creation and termination any longer.
Jun-Young
--
Bang Jun-Young <junyoung@NetBSD.org>