I have written a pure userspace implementation of the Darwin pthread_workqueue API as used by libdispatch. This is based on Stacey Son's port to FreeBSD [1], but does not include any of the kernel bits. It's portable to a wide range of POSIX-compliant platforms. I have tested it under Linux, and it shows major improvements in the performance and stability of the libdispatch test suite. I havn't implemented overcommit or multiple priority levels yet, but the basic workqueue functionality is there. I have a few ideas for adding kernel support and will be developing a Linux kernel module to complement the existing userspace code. A tarball of the source code is here: http://mark.heily.com/src/libpthread_workqueue-0.1.tar.gz The SVN repository is available here: svn://mark.heily.com/libpthread_workqueue To try this with libdispatch, add '-lpthread_workqueue' to the LDADD variable in testing/Makefile.am. Regards, - Mark [1] http://people.freebsd.org/~sson/thrworkq/