[libdispatch-dev] Experimental Pthread Work Queue Support for FreeBSD
leimy2k at gmail.com
Tue Dec 15 12:48:02 PST 2009
Thanks for clarifying! That's very exciting! I really like some things
about libdispatch and am glad to see it being embraced for more than just
Mac OS X.
On Tue, Dec 15, 2009 at 12:40 PM, Stacey Son <sson at freebsd.org> wrote:
> Robert was the one that asked me if I could look into this so hopefully he
> has not already done this... :)
> Currently the GCD port for FreeBSD uses the user-level thread worker code
> in libdispatch and not the pthread_workqueue_*_np() calls like darwin. The
> pthread work queue code below pretty much follows the same idea that darwin
> uses. It is a kernel assisted thread pool implementation. The kernel
> manages the creation and destruction of threads in the work pool based on if
> it sees lots of the worker threads blocking, being idle for a (relatively)
> long time, etc. I don't know if it performs any better than the user-level
> thread pool since I have not yet done any performance testing.
> Best Regards,
> On Dec 15, 2009, at 1:26 PM, David Leimbach wrote:
> I think Robert Watson has already done this?
> My understanding is that 8-STABLE supports this.
> Am I wrong?
> On Tue, Dec 15, 2009 at 8:09 AM, Stacey Son <sson at freebsd.org> wrote:
>> Hi All,
>> Just in time for the holidays I have created a couple of patches for
>> FreeBSD-Current to add apple-like pthread workqueues. You can find the
>> patches at:
>> The first patch (kern_thrworkq_*.diff) adds the kernel support and
>> thr_workq() system call. To compile it into the kernel "options THRWORKQ"
>> needs to be added to the kernel config file. The second patch
>> (pthread_workqueue_*.diff) is for the libthr code and adds the
>> pthread_workqueue_*_np() functions. (See
>> http://people.freebsd.org/~sson/thrworkq/pthread_workqueue.3.txt for the
>> man page.) I have only done a limited amount of testing so I am sure there
>> are bugs. Any questions, comments, bug reports, and/or patches are
>> libdispatch-dev mailing list
>> libdispatch-dev at lists.macosforge.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the libdispatch-dev