TODO LIST kern_thrworkq code: * The code to assign CPU affinity needs to be fixed up and activited. I am not sure if this is really needed. * Currently only one queue priority level is used. This needs to be fixed so all three priority levels are used. Need to determine how to properly do this in the kernel. * Optimize locking. * Auditing for thr_workq() system call? compat_32 support? libthr code: * Test with libdispatch. * Need pthread_workqueue_rmitem_np() so pending work items can be removed from workqueue. * Need pthread_workqueue_destroy_np() to free and destroy workqueues that are no longer needed. * Document pthread_workqueue_requestconcurrency_np(3). DONE: * Thread stacks that are allocated by the kernel need to be recycled by the kernel and reused. Currently stacks are allocated by the kernel but recycled into user space by the libthr code. [added in *_2009_11_30.diff's] * Need to add 32-bit support for kernel code. [added in *_2009_12_02.diff] * Make the kernel code a compile time option. [added in *2009_12_14.diff] * Man pages for pthread_workqueue_init_np(3), pthread_workqueue_create_np(3), pthread_workqueue_additem_np(3), pthread_workqueue_attr_init_np(3), pthread_workqueue_attr_destroy_np(3), pthread_workqueue_attr_getovercommit_np(3), pthread_workqueue_attr_setovercommit_np(3), pthread_workqueue_attr_getqueuepriority_np(3), pthread_workqueue_attr_setqueuepriority_np(3) [added in *2009_12_14.diff] * Workqueue priority and affinity needs to be fixed. [added in *2009_12_14.diff]