freebsd-src/lib/libc_r/uthread
Jason Evans 91e92a2d3d Don't explicitly mmap() red zones at the bottom of thread stacks (except
the initial thread).  Instead, just leave an unmapped gap between thread
stacks and make sure that the thread stacks won't grow into these gaps,
simply by limiting the size of the stacks with the 'len' argument to
mmap().  This (if I understand correctly) reduces VM overhead
considerably.

Reviewed by:	deischen
1999-12-29 15:44:59 +00:00
..
Makefile.inc add pthread_cancel, obtained from OpenBSD. 1999-11-28 05:38:13 +00:00
pthread_private.h Don't explicitly mmap() red zones at the bottom of thread stacks (except 1999-12-29 15:44:59 +00:00
uthread_accept.c General clean-up of socket.h and associated sources to synchronise up 1999-11-24 20:49:04 +00:00
uthread_attr_destroy.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_attr_getdetachstate.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_attr_getinheritsched.c add pthread_cancel, obtained from OpenBSD. 1999-11-28 05:38:13 +00:00
uthread_attr_getschedparam.c add pthread_cancel, obtained from OpenBSD. 1999-11-28 05:38:13 +00:00
uthread_attr_getschedpolicy.c add pthread_cancel, obtained from OpenBSD. 1999-11-28 05:38:13 +00:00
uthread_attr_getscope.c add pthread_cancel, obtained from OpenBSD. 1999-11-28 05:38:13 +00:00
uthread_attr_getstackaddr.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_attr_getstacksize.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_attr_init.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_attr_setcreatesuspend_np.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_attr_setdetachstate.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_attr_setinheritsched.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_attr_setprio.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_attr_setschedparam.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_attr_setschedpolicy.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_attr_setscope.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_attr_setstackaddr.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_attr_setstacksize.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_autoinit.cc Fix description of the _thread_autoinit_dummy_decl trick. 1999-08-17 09:50:21 +00:00
uthread_bind.c General clean-up of socket.h and associated sources to synchronise up 1999-11-24 20:49:04 +00:00
uthread_cancel.c Fix problems with cancellation while in critical regions. 1999-12-17 00:57:54 +00:00
uthread_clean.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_close.c add pthread_cancel, obtained from OpenBSD. 1999-11-28 05:38:13 +00:00
uthread_cond.c Fix problems with cancellation while in critical regions. 1999-12-17 00:57:54 +00:00
uthread_condattr_destroy.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_condattr_init.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_connect.c General clean-up of socket.h and associated sources to synchronise up 1999-11-24 20:49:04 +00:00
uthread_create.c Don't explicitly mmap() red zones at the bottom of thread stacks (except 1999-12-29 15:44:59 +00:00
uthread_detach.c -Wall and minor style(9) cleanups. 1999-12-28 18:13:04 +00:00
uthread_dup.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_dup2.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_equal.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_execve.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_exit.c add pthread_cancel, obtained from OpenBSD. 1999-11-28 05:38:13 +00:00
uthread_fchflags.c add pthread_cancel, obtained from OpenBSD. 1999-11-28 05:38:13 +00:00
uthread_fchmod.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_fchown.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_fcntl.c add pthread_cancel, obtained from OpenBSD. 1999-11-28 05:38:13 +00:00
uthread_fd.c Fix problems with cancellation while in critical regions. 1999-12-17 00:57:54 +00:00
uthread_file.c Fix problems with cancellation while in critical regions. 1999-12-17 00:57:54 +00:00
uthread_find_thread.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_flock.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_fork.c -Wall and minor style(9) cleanups. 1999-12-28 18:13:04 +00:00
uthread_fstat.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_fstatfs.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_fsync.c add pthread_cancel, obtained from OpenBSD. 1999-11-28 05:38:13 +00:00
uthread_gc.c -Wall and minor style(9) cleanups. 1999-12-28 18:13:04 +00:00
uthread_getdirentries.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_getpeername.c General clean-up of socket.h and associated sources to synchronise up 1999-11-24 20:49:04 +00:00
uthread_getprio.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_getschedparam.c add pthread_cancel, obtained from OpenBSD. 1999-11-28 05:38:13 +00:00
uthread_getsockname.c General clean-up of socket.h and associated sources to synchronise up 1999-11-24 20:49:04 +00:00
uthread_getsockopt.c General clean-up of socket.h and associated sources to synchronise up 1999-11-24 20:49:04 +00:00
uthread_info.c sigset_t change (part 5 of 5) 1999-09-29 15:18:46 +00:00
uthread_init.c Don't explicitly mmap() red zones at the bottom of thread stacks (except 1999-12-29 15:44:59 +00:00
uthread_ioctl.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_join.c Fix problems with cancellation while in critical regions. 1999-12-17 00:57:54 +00:00
uthread_kern.c Fix problems with cancellation while in critical regions. 1999-12-17 00:57:54 +00:00
uthread_kill.c Fixes for signal handling: 1999-12-17 00:56:36 +00:00
uthread_listen.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_mattr_init.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_mattr_kind_np.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_msync.c add pthread_cancel, obtained from OpenBSD. 1999-11-28 05:38:13 +00:00
uthread_multi_np.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_mutex.c Fix problems with cancellation while in critical regions. 1999-12-17 00:57:54 +00:00
uthread_mutex_prioceiling.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_mutex_protocol.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_mutexattr_destroy.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_nanosleep.c add pthread_cancel, obtained from OpenBSD. 1999-11-28 05:38:13 +00:00
uthread_once.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_open.c add pthread_cancel, obtained from OpenBSD. 1999-11-28 05:38:13 +00:00
uthread_pipe.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_poll.c -Wall and minor style(9) cleanups. 1999-12-28 18:13:04 +00:00
uthread_priority_queue.c -Wall and minor style(9) cleanups. 1999-12-28 18:13:04 +00:00
uthread_read.c add pthread_cancel, obtained from OpenBSD. 1999-11-28 05:38:13 +00:00
uthread_readv.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_recvfrom.c General clean-up of socket.h and associated sources to synchronise up 1999-11-24 20:49:04 +00:00
uthread_recvmsg.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_resume_np.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_rwlock.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_rwlockattr.c Fix some minor POSIX/SUSv2 compliance nits. 1999-12-18 01:00:42 +00:00
uthread_select.c When checking for valid timevals in the wrapped select() and poll() 1999-08-30 00:02:08 +00:00
uthread_self.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_sendmsg.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_sendto.c General clean-up of socket.h and associated sources to synchronise up 1999-11-24 20:49:04 +00:00
uthread_seterrno.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_setprio.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_setschedparam.c -Wall and minor style(9) cleanups. 1999-12-28 18:13:04 +00:00
uthread_setsockopt.c General clean-up of socket.h and associated sources to synchronise up 1999-11-24 20:49:04 +00:00
uthread_shutdown.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_sig.c Don't wakeup threads when there is a process signal and no installed 1999-12-28 18:08:09 +00:00
uthread_sigaction.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_sigblock.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_sigmask.c sigset_t change (part 5 of 5) 1999-09-29 15:18:46 +00:00
uthread_signal.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_sigpending.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_sigprocmask.c sigset_t change (part 5 of 5) 1999-09-29 15:18:46 +00:00
uthread_sigsetmask.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_sigsuspend.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_sigwait.c Change signal handling to conform to POSIX specified semantics. 1999-12-04 22:55:59 +00:00
uthread_single_np.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_socket.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_socketpair.c -Wall and minor style(9) cleanups. 1999-12-28 18:13:04 +00:00
uthread_spec.c -Wall and minor style(9) cleanups. 1999-12-28 18:13:04 +00:00
uthread_spinlock.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_suspend_np.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_switch_np.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
uthread_vfork.c In libc_r, rename vfork syscall to _thread_sys_vfork and make vfork an alias 1998-09-12 22:03:20 +00:00
uthread_wait4.c Fixes for signal handling: 1999-12-17 00:56:36 +00:00
uthread_write.c Fix problems with cancellation while in critical regions. 1999-12-17 00:57:54 +00:00
uthread_writev.c Avoid an infinite loop if the last element of the iov array passed to 1999-12-16 22:35:40 +00:00
uthread_yield.c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00