|
Packit Service |
37de05 |
- we should probably extend pthread_mutexattr_t with a field to create a
|
|
Packit Service |
37de05 |
single linked list of all instances. This requires changing the
|
|
Packit Service |
37de05 |
pthread_mutexattr_* functions.
|
|
Packit Service |
37de05 |
|
|
Packit Service |
37de05 |
|
|
Packit Service |
37de05 |
- a new attribute for mutexes: number of times we spin before calling
|
|
Packit Service |
37de05 |
sys_futex
|
|
Packit Service |
37de05 |
|
|
Packit Service |
37de05 |
- for adaptive mutexes: when releasing, determine whether somebody spins.
|
|
Packit Service |
37de05 |
If yes, for a short time release lock. If someone else locks no wakeup
|
|
Packit Service |
37de05 |
syscall needed.
|
|
Packit Service |
37de05 |
|
|
Packit Service |
37de05 |
|
|
Packit Service |
37de05 |
|
|
Packit Service |
37de05 |
- test with threaded process terminating and semadj (?) being applied
|
|
Packit Service |
37de05 |
only after all threads are gone
|
|
Packit Service |
37de05 |
|
|
Packit Service |
37de05 |
|
|
Packit Service |
37de05 |
|
|
Packit Service |
37de05 |
- semaphore changes:
|
|
Packit Service |
37de05 |
|
|
Packit Service |
37de05 |
- sem_post should only wake one thread and only when the state of
|
|
Packit Service |
37de05 |
the semaphore changed from 0 to 1
|
|
Packit Service |
37de05 |
|
|
Packit Service |
37de05 |
this also requires that sem_wait and sem_timedwait don't drop the
|
|
Packit Service |
37de05 |
post if they get canceled.
|
|
Packit Service |
37de05 |
|
|
Packit Service |
37de05 |
- possibly add counter field. This requires reviving the
|
|
Packit Service |
37de05 |
differences between old and new semaphose funtions. The old ones
|
|
Packit Service |
37de05 |
stay as they are now. The new once can use an additional field
|
|
Packit Service |
37de05 |
wich is the counter for the number of waiters
|