tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: revivesa status 2008/07/09



On Fri, Jul 25, 2008 at 02:54:27PM +0900, SODA Noriyuki wrote:
> >>>>> On Thu, 24 Jul 2008 10:28:34 -0700,
>       Jason Thorpe <thorpej%shagadelic.org@localhost> said:
> 
> >> Unification seconded.  And while in there, there should be no  
> >> difference
> >> between "single-threaded without pthread" and "single-threaded with
> >> pthread" like there currently is.
> 
> > Agreed.
> 
> I disagree, because:
> 
> 1) It makes hard to use alternate pthread library, especially pthread
>   libraries which support more than 100,000 threads.
>   With today's RAM price, such number of threads can be easily
>   supported by userland implementations and SA pthread, but
>   current 1:1 thread library just cannot support such application.

There is a fixed artificial limit in the kernel for 1:1 threads for a simple
reason: there is no other limiting mechanism. That should be made a tuneable.

Note that the SA pthread library has a large locked memory footprint for
upcall stacks. It typically uses more wired memory than 1:1, however kernel
VA usage is a problem for 1:1.

If you want 100,000 threads in a single process, running inside a single
metal box, I think there is something dramatically wrong with your
application, but you can have them with 1:1 by using a 64-bit system.

Finally, note that our 1:1 thread library is probably capable of creating
your 100k threads in under a second, which is more than can be said for
competing systems.

> 2) This is not what most other UNIX-based OSes do.
>   Solaris, HP-UX, Linux and FreeBSD are all use indepedent libpthread
>   library.  Making NetBSD different from UNIX common sense is not
>   way to go.

From Solaris 10 onwards threading is integrated into libc.

Andrew


Home | Main Index | Thread Index | Old Index