[M3devel] [M3commit] how to switch userthreads on/off

Olaf Wagner wagner at elegosoft.com
Thu Apr 30 11:05:15 CEST 2009


Quoting Jay <jay.krell at cornell.edu>:

> Olaf, your recall that FreeBSD userthreads were "fast"..is that   
> based on FreeBSD 4.x by chance? Maybe they don't have much advantage  
>  on any other system?
>
> You know...FreeBSD 4.x pthreads are also userthreads, not really a   
> fair comparison maybe with other pthreads implementations and maybe   
> give pthreads a bad name?

I'm afraid I cannot provide any exact numbers or test results any more,
so the validity of all my comments must be treated very carefully.

AFAIR M3 user threads on FreeBSD were fast compared to the system
implementation of pthreads even in 4.x. FreeBSD system threads that
are `real' kernel threads were introduced later, when the system was
incrementally made ready for multi-CPU-support. I think this change
has not been completed until 7.0. (All systems after 4.x were much less
stable due to this transition.). One of the bottlenecks _may_ have been
the malloc implementation.

The FreeBSD pthreads implementation in 4.x were indeed user-level threads,
but they were not very performant compared to what would have been
possible IIRC.

There was also an implementation which used process structures as threads
ported from Linux (known as Linux-threads).

Olaf
-- 
Olaf Wagner -- elego Software Solutions GmbH
                Gustav-Meyer-Allee 25 / Gebäude 12, 13355 Berlin, Germany
phone: +49 30 23 45 86 96  mobile: +49 177 2345 869  fax: +49 30 23 45 86 95
    http://www.elegosoft.com | Geschäftsführer: Olaf Wagner | Sitz: Berlin
Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194




More information about the M3devel mailing list