freebsd-src/lib/libkse/thread
Marcel Moolenaar 82468d1f27 Untangle the inter-dependency of kse types and ksd types/functions
by moving the definition of struct ksd to pthread_md.h and removing
the inclusion of ksd.h from thr_private.h (which has the definition
of struct kse and kse_critical_t). This allows ksd.h to have inline
functions that use struct kse and kse_critical_t and generally
yields a cleaner implementation at the cost of not having all ksd
related types/definitions in one header.

Implement the ksd functionality on ia64 by using inline functions
and permanently remove ksd.c from the ia64 specific makefile.

This change does not clean up the i386 specific version of ksd.h.

NOTE: The ksd code on ia64 abuses the tp register in the same way
as it is abused in libthr in that it is incompatible with the
runtime specification. This will be address when support for TLS
hits the tree.
2003-06-23 23:15:06 +00:00
..
Makefile.inc Attempt to eliminate PLT relocations from rwlock aquire/release 2003-05-30 00:21:52 +00:00
thr_aio_suspend.c Revamp libpthread so that it has a chance of working in an SMP 2003-04-18 05:04:16 +00:00
thr_attr_destroy.c Make the changes needed for libpthread to compile in its new home. 2002-09-16 08:45:36 +00:00
thr_attr_get_np.c Revamp libpthread so that it has a chance of working in an SMP 2003-04-18 05:04:16 +00:00
thr_attr_getdetachstate.c Make the changes needed for libpthread to compile in its new home. 2002-09-16 08:45:36 +00:00
thr_attr_getguardsize.c Make the changes needed for libpthread to compile in its new home. 2002-09-16 08:45:36 +00:00
thr_attr_getinheritsched.c Make the changes needed for libpthread to compile in its new home. 2002-09-16 08:45:36 +00:00
thr_attr_getschedparam.c Make the changes needed for libpthread to compile in its new home. 2002-09-16 08:45:36 +00:00
thr_attr_getschedpolicy.c Make the changes needed for libpthread to compile in its new home. 2002-09-16 08:45:36 +00:00
thr_attr_getscope.c Make the changes needed for libpthread to compile in its new home. 2002-09-16 08:45:36 +00:00
thr_attr_getstack.c Add pthread_attr_getstack() and pthread_attr_setstack(). 2003-02-10 08:48:04 +00:00
thr_attr_getstackaddr.c Make the changes needed for libpthread to compile in its new home. 2002-09-16 08:45:36 +00:00
thr_attr_getstacksize.c Make the changes needed for libpthread to compile in its new home. 2002-09-16 08:45:36 +00:00
thr_attr_init.c Revamp libpthread so that it has a chance of working in an SMP 2003-04-18 05:04:16 +00:00
thr_attr_setcreatesuspend_np.c Revamp libpthread so that it has a chance of working in an SMP 2003-04-18 05:04:16 +00:00
thr_attr_setdetachstate.c Make the changes needed for libpthread to compile in its new home. 2002-09-16 08:45:36 +00:00
thr_attr_setguardsize.c Revamp libpthread so that it has a chance of working in an SMP 2003-04-18 05:04:16 +00:00
thr_attr_setinheritsched.c Make the changes needed for libpthread to compile in its new home. 2002-09-16 08:45:36 +00:00
thr_attr_setschedparam.c Revamp libpthread so that it has a chance of working in an SMP 2003-04-18 05:04:16 +00:00
thr_attr_setschedpolicy.c Make the changes needed for libpthread to compile in its new home. 2002-09-16 08:45:36 +00:00
thr_attr_setscope.c Revamp libpthread so that it has a chance of working in an SMP 2003-04-18 05:04:16 +00:00
thr_attr_setstack.c Add pthread_attr_getstack() and pthread_attr_setstack(). 2003-02-10 08:48:04 +00:00
thr_attr_setstackaddr.c Make the changes needed for libpthread to compile in its new home. 2002-09-16 08:45:36 +00:00
thr_attr_setstacksize.c Make the changes needed for libpthread to compile in its new home. 2002-09-16 08:45:36 +00:00
thr_autoinit.c Revamp libpthread so that it has a chance of working in an SMP 2003-04-18 05:04:16 +00:00
thr_cancel.c Change low-level locking a bit so that we can tell if 2003-05-24 02:29:25 +00:00
thr_clean.c Revamp libpthread so that it has a chance of working in an SMP 2003-04-18 05:04:16 +00:00
thr_close.c Revamp libpthread so that it has a chance of working in an SMP 2003-04-18 05:04:16 +00:00
thr_concurrency.c Change low-level locking a bit so that we can tell if 2003-05-24 02:29:25 +00:00
thr_cond.c Free memory of internal low level lock when mutex and condition variable 2003-06-03 02:21:01 +00:00
thr_condattr_destroy.c Make the changes needed for libpthread to compile in its new home. 2002-09-16 08:45:36 +00:00
thr_condattr_init.c Revamp libpthread so that it has a chance of working in an SMP 2003-04-18 05:04:16 +00:00
thr_creat.c Revamp libpthread so that it has a chance of working in an SMP 2003-04-18 05:04:16 +00:00
thr_create.c KMF_DONE is now in /sys/sys/kse.h, no longer need to define it here. 2003-06-04 03:22:59 +00:00
thr_detach.c Change low-level locking a bit so that we can tell if 2003-05-24 02:29:25 +00:00
thr_equal.c Make the changes needed for libpthread to compile in its new home. 2002-09-16 08:45:36 +00:00
thr_exit.c Attempt to eliminate PLT relocations from rwlock aquire/release 2003-05-30 00:21:52 +00:00
thr_fcntl.c Revamp libpthread so that it has a chance of working in an SMP 2003-04-18 05:04:16 +00:00
thr_find_thread.c Change low-level locking a bit so that we can tell if 2003-05-24 02:29:25 +00:00
thr_fork.c Revamp libpthread so that it has a chance of working in an SMP 2003-04-18 05:04:16 +00:00
thr_fsync.c Revamp libpthread so that it has a chance of working in an SMP 2003-04-18 05:04:16 +00:00
thr_getprio.c Make the changes needed for libpthread to compile in its new home. 2002-09-16 08:45:36 +00:00
thr_getschedparam.c Revamp libpthread so that it has a chance of working in an SMP 2003-04-18 05:04:16 +00:00
thr_info.c Revamp libpthread so that it has a chance of working in an SMP 2003-04-18 05:04:16 +00:00
thr_init.c Only init _thread_sigact once, needn't init it again after a fork(). 2003-06-04 12:40:21 +00:00
thr_join.c Change low-level locking a bit so that we can tell if 2003-05-24 02:29:25 +00:00
thr_kern.c Untangle the inter-dependency of kse types and ksd types/functions 2003-06-23 23:15:06 +00:00
thr_kill.c Revamp libpthread so that it has a chance of working in an SMP 2003-04-18 05:04:16 +00:00
thr_main_np.c Revamp libpthread so that it has a chance of working in an SMP 2003-04-18 05:04:16 +00:00
thr_mattr_init.c Revamp libpthread so that it has a chance of working in an SMP 2003-04-18 05:04:16 +00:00
thr_mattr_kind_np.c Make the changes needed for libpthread to compile in its new home. 2002-09-16 08:45:36 +00:00
thr_msync.c Revamp libpthread so that it has a chance of working in an SMP 2003-04-18 05:04:16 +00:00
thr_multi_np.c Revamp suspend and resume. While I'm here add pthread_suspend_all_np() 2002-05-24 04:32:28 +00:00
thr_mutex.c Free memory of internal low level lock when mutex and condition variable 2003-06-03 02:21:01 +00:00
thr_mutex_prioceiling.c Revamp libpthread so that it has a chance of working in an SMP 2003-04-18 05:04:16 +00:00
thr_mutex_protocol.c Revamp libpthread so that it has a chance of working in an SMP 2003-04-18 05:04:16 +00:00
thr_mutexattr_destroy.c Make the changes needed for libpthread to compile in its new home. 2002-09-16 08:45:36 +00:00
thr_nanosleep.c Change low-level locking a bit so that we can tell if 2003-05-24 02:29:25 +00:00
thr_once.c Revamp libpthread so that it has a chance of working in an SMP 2003-04-18 05:04:16 +00:00
thr_open.c Revamp libpthread so that it has a chance of working in an SMP 2003-04-18 05:04:16 +00:00
thr_pause.c Revamp libpthread so that it has a chance of working in an SMP 2003-04-18 05:04:16 +00:00
thr_poll.c Revamp libpthread so that it has a chance of working in an SMP 2003-04-18 05:04:16 +00:00
thr_printf.c Revamp libpthread so that it has a chance of working in an SMP 2003-04-18 05:04:16 +00:00
thr_priority_queue.c o Don't add a scope system thread's KSE to the list of available 2003-04-28 23:56:12 +00:00
thr_private.h Untangle the inter-dependency of kse types and ksd types/functions 2003-06-23 23:15:06 +00:00
thr_pselect.c Eek, staticize a couple of functions that shouldn't 2003-05-19 23:04:50 +00:00
thr_read.c Revamp libpthread so that it has a chance of working in an SMP 2003-04-18 05:04:16 +00:00
thr_readv.c Revamp libpthread so that it has a chance of working in an SMP 2003-04-18 05:04:16 +00:00
thr_resume_np.c Fix suspend and resume. 2003-05-04 16:17:01 +00:00
thr_rtld.c Attempt to eliminate PLT relocations from rwlock aquire/release 2003-05-30 00:21:52 +00:00
thr_rwlock.c Attempt to eliminate PLT relocations from rwlock aquire/release 2003-05-30 00:21:52 +00:00
thr_rwlockattr.c Make the changes needed for libpthread to compile in its new home. 2002-09-16 08:45:36 +00:00
thr_select.c Revamp libpthread so that it has a chance of working in an SMP 2003-04-18 05:04:16 +00:00
thr_self.c Revamp libpthread so that it has a chance of working in an SMP 2003-04-18 05:04:16 +00:00
thr_sem.c Revamp libpthread so that it has a chance of working in an SMP 2003-04-18 05:04:16 +00:00
thr_seterrno.c Revamp libpthread so that it has a chance of working in an SMP 2003-04-18 05:04:16 +00:00
thr_setprio.c Make the changes needed for libpthread to compile in its new home. 2002-09-16 08:45:36 +00:00
thr_setschedparam.c Add an i386-specifc hack to always set %gs. There still seems 2003-04-21 04:02:56 +00:00
thr_sig.c After selecting a thread to handle a signal and taking 2003-06-08 17:37:21 +00:00
thr_sigaction.c Revamp libpthread so that it has a chance of working in an SMP 2003-04-18 05:04:16 +00:00
thr_sigmask.c Revamp libpthread so that it has a chance of working in an SMP 2003-04-18 05:04:16 +00:00
thr_sigpending.c Revamp libpthread so that it has a chance of working in an SMP 2003-04-18 05:04:16 +00:00
thr_sigprocmask.c Despite whether threaded mode is turned on, always save thread's 2003-06-04 12:38:21 +00:00
thr_sigsuspend.c Don't lock scheduler lock twice. 2003-06-18 06:08:03 +00:00
thr_sigwait.c Add a method of yielding the current thread with the scheduler 2003-05-16 19:58:30 +00:00
thr_single_np.c Revamp suspend and resume. While I'm here add pthread_suspend_all_np() 2002-05-24 04:32:28 +00:00
thr_sleep.c Revamp libpthread so that it has a chance of working in an SMP 2003-04-18 05:04:16 +00:00
thr_spec.c Revamp libpthread so that it has a chance of working in an SMP 2003-04-18 05:04:16 +00:00
thr_spinlock.c Don't really spin on a spinlock; silently convert it to the same 2003-05-29 17:10:45 +00:00
thr_stack.c Revamp libpthread so that it has a chance of working in an SMP 2003-04-18 05:04:16 +00:00
thr_suspend_np.c Fix suspend and resume. 2003-05-04 16:17:01 +00:00
thr_switch_np.c Revamp libpthread so that it has a chance of working in an SMP 2003-04-18 05:04:16 +00:00
thr_system.c Revamp libpthread so that it has a chance of working in an SMP 2003-04-18 05:04:16 +00:00
thr_tcdrain.c Revamp libpthread so that it has a chance of working in an SMP 2003-04-18 05:04:16 +00:00
thr_vfork.c To be consistent, use the __weak_reference macro from <sys/cdefs.h> 2001-04-10 04:19:21 +00:00
thr_wait.c Revamp libpthread so that it has a chance of working in an SMP 2003-04-18 05:04:16 +00:00
thr_wait4.c Revamp libpthread so that it has a chance of working in an SMP 2003-04-18 05:04:16 +00:00
thr_waitpid.c Revamp libpthread so that it has a chance of working in an SMP 2003-04-18 05:04:16 +00:00
thr_write.c Revamp libpthread so that it has a chance of working in an SMP 2003-04-18 05:04:16 +00:00
thr_writev.c Revamp libpthread so that it has a chance of working in an SMP 2003-04-18 05:04:16 +00:00
thr_yield.c Add a method of yielding the current thread with the scheduler 2003-05-16 19:58:30 +00:00