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