pthread roadmap
Marcus Brinkmann <[email protected]>
| Newsgroups | gmane.os.hurd.devel.readers |
|---|---|
| Message-ID | <[email protected]> |
Hi, let's try to open up a roadmap for pthread in the Hurd. We have: * The Hurd written for cthread. (Neal, do you have patches for some of the Hurd to port it to pthread? I think I remember you talking about it.) * The cthread library in libthreads in the Hurd CVS. * A working pthread implementation on Mach by Neal, which integrates into glibc at the binary level exactly like cthreads does right now. * A pthread implementation for glibc by Ulrich Drepper, which is not ported to the Hurd, but which Roland wanted to. Where do we want to end up: * The Hurd written for pthread. * No thread library in the Hurd source tree. * A pthread library in glibc, which is maintained by the glibc maintainers and has sysdeps for Mach (and L4). How can we get there? * Because of Neal's working pthread library, we _could_ move the Hurd to pthreads right now. We could add his thread library the the Hurd CVS, and migrate the Hurd source gradually (one large chunk is libports and all servers using it, the other programs using it independently could be done individually). This completely isolates this step from the other step. We want to use Neal's pthread library to compile Debian packages that require pthreads. The next Hurd package for Debian GNU/Hurd will have his pthread implementation (at least that's the plan). We might go through an ABI break later in Debian, but that's not a big deal. * Porting pthread in glibc to the Hurd. This has as a prerequisite that Drepper integrates his thread library in glibc. I don't know when this will happen, after 2.3 is released? I don't know enough about the internals to judge how much work this is. It seems to me that Roland plans some changes in the interfaces, and how the stack is set up, etc. This also requires that we move on to oskit-mach, which provides %gs. Probably the more system dependent parts of Neal's thread library would be useful. Maybe even more, I have not compared Drepper's with Neal's implementation. What else needs to be listed here? The question is, if porting/merging the glibc's pthread implementation can happen fast enough to make using Neal's pthread library to port the Hurd to pthreads now worthwhile or not. Roland, do you have an estimate on what timeframe you were thinking of? Thanks, Marcus -- `Rhubarb is no Egyptian god.' GNU http://www.gnu.org [email protected] Marcus Brinkmann The Hurd http://www.gnu.org/software/hurd/ [email protected] http://www.marcus-brinkmann.de/