This directory contains expermential pthread workqueue patches for FreeBSD-current. kern_thrworkq_YYYY_MM_DD.diff is a patch for the FreeBSD kernel that adds the thr_workq(int cmd, struct twq_param *twqp) system call. To compile the kernel code "options THRWORKQ" needs to be added to the kernel config file. pthread_workqueue_YYYY_MM_DD.diff is a patch for libthr and pthread_np.h that adds the following: int pthread_workqueue_init_np(void); int pthread_workqueue_create_np(pthread_workqueue_t * workqp, const pthread_workqueue_attr_t * attr); int pthread_workqueue_additem_np(pthread_workqueue_t workq, void *( *workitem_func)(void *), void * workitem_arg, pthread_workitem_handle_t * itemhandlep, unsigned int *gencountp); int pthread_workqueue_attr_init_np(pthread_workqueue_attr_t * attrp); int pthread_workqueue_attr_destroy_np(pthread_workqueue_attr_t * attr); int pthread_workqueue_attr_setqueuepriority_np(pthread_workqueue_attr_t * attr, int qprio); int pthread_workqueue_attr_getovercommit_np( const pthread_workqueue_attr_t * attr, int * ocommp); int pthread_workqueue_attr_setovercommit_np(pthread_workqueue_attr_t * attr, int ocomm); int pthread_workqueue_requestconcurrency_np(pthread_workqueue_t workq, int queue, int request_concurrency); int pthread_workqueue_getovercommit_np(pthread_workqueue_t workq, unsigned int *ocommp); See pthread_workqueue.3.txt for man page. Also, see TODO for information about missing bits and bugs.