12 Commits

Author SHA1 Message Date
ad
b8833ff53f - Reinitialize the absolute minimum when recycling user thread state.
Chops another ~10% off create/join in a loop on i386.
- Disable low level debugging as this is stable. Improves benchmarks
  across the board by a small percentage. Uncontested mutex acquire
  and release in a loop becomes about 8% quicker.
- Minor cleanup.
2007-08-16 12:01:49 +00:00
ad
de2138164c Remove the PTHREAD_SA option. If M:N threads is reimplemented it's
better off done with a seperate library.
2007-03-02 18:53:51 +00:00
christos
25a0745d2e remove unused variable/code. 2007-01-20 18:57:41 +00:00
ad
1ac6a89b79 Conditionalised support for 1:1 threads. Needs associated kernel changes
and more work to be useful.
2006-12-23 05:14:46 +00:00
ad
11b0ba9c5d pthread__debuglog_printf(): check for linebuf == NULL. 2006-12-14 20:40:57 +00:00
cl
f2f106648c add libpthread part of concurrency support for SA on MP systems
- enable concurrency according to environment variable PTHREAD_CONCURRENCY
- add idle VP wakeup if there are additional jobs and idle VPs
- make reidlequeue per VP
- enable spinning for locks
- fix race condition in alarm processing
- fix race condition in mutex locking
- make debugging output line buffered and add VP prefix to debug lines
2004-03-14 01:19:41 +00:00
cl
677748c645 logging/debugging changes:
- add PTHREAD_PID_DEBUG which prints the pid before each debuglog line
- output thread returned in pthread__next
- add asserts in pthread__sched akin to asserts in pthread__sched_bulk:
  check if scheduled thread is at front/end of queue
- pthread__upcall: output event/interrupted LWP count instead of LWPid
  of the first event/interrupted LWP (since unblock upcalls can have
  multiple event LWPs).
- pthread__find_interrupted: output LWPid here
2004-01-02 14:13:16 +00:00
nathanw
876d7e7eec Dodge a potential race condition in pthread__debuglog_printf(). It's
still possible for multiple threads to write into the same space, but
they shouldn't be able to corrupt the write pointer in the process.

Also, check for pointer-lapping a bit more carefully in the wrap
vs. non-wrap case.
2003-06-16 21:24:48 +00:00
nathanw
8114703654 Fix a fencepost error in writing to the debug buffer. 2003-04-16 17:37:47 +00:00
lukem
f043c0fb57 add __RCSID() 2003-03-08 08:03:34 +00:00
christos
9631ace572 de-lint 2003-01-18 18:40:52 +00:00
thorpej
c62a74e6d5 Merge the nathanw_sa branch. 2003-01-18 10:32:11 +00:00