[libdispatch-dev] libpthread_workqueue released

Mark Heily mark at heily.com
Mon Jun 14 21:36:32 PDT 2010


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/


More information about the libdispatch-dev mailing list