tech-userlevel archive

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

[PATCH] libpthread NOLOAD removal



Here is my llatest patch for libpthread NOLOAD removal. It implements
minimal mutex, condvar and rwlock operations in libc thread stubs, so
that theses objects can be handled by both libc and libpthread after
libpthread has been loaded by dlopen.

http://ftp.espci.fr/shadow/manu/pthread5.patch

Performance hit has been evaluated: it is not significant for running
NetBSD's build.sh. On a billion calls to gmtime(), I get a 1%
performance hit.

Note that we catch calls to pthread_create() for programs not linked
with -lpthread and we abort, since we cannot reliabily support that for
now. We could do it if we move the full mutex, condvar and rwlock
operations from libthread to libc. Since that would bump library
versions, I suggest it could be done in a second step, so that the first
step (minimal operation in libc stubs) can be backported to netbsd-6.

-- 
Emmanuel Dreyfus
http://hcpnet.free.fr/pubz
manu%netbsd.org@localhost


Home | Main Index | Thread Index | Old Index