xref: /netbsd-src/lib/libpthread/TODO (revision 7fa608457b817eca6e0977b37f758ae064f3c99c)
1$NetBSD: TODO,v 1.11 2007/09/08 23:00:31 ad Exp $
2
3Bugs to fix:
4
5- Add locking to ld.elf_so so that multiple threads doing lazy binding
6  doesn't trash things.
7
8Interfaces/features to implement:
9
10- Realtime exensions: priority scheduling, priority inheritance.
11
12- Figure out how to use registers reserved in the ABI to implement
13  pthread_self(). This will allow for assembly lock stubs.
14
15- Allow threads to change their stack size. This probably depends on the
16  above item.
17
18- Have a user/kernel shared page that:
19
20  o Has a hint mechanism that gives us a clue about whether an LWP is
21    currently running on another CPU. This could be used for adaptive locks,
22    but would need to be cheap to do in-kernel.
23
24  o Perhaps has a flag value that's reset when a detached LWP is into the
25    kernel and lwp_exit1(), meaning that its stack can be reclaimed. Again,
26    may or may not be worth it. Currently we test for this with _lwp_kill()
27    which is very inefficient.
28
29- Keep a pool of dead LWPs so that we do not have take the full hit of
30  _lwp_create() every time pthread_create() is called.
31