A few days ago, Marcus Brinkmann mentioned that the Hurd is likely to move toward the NPTL thread model. From the context of our conversation, I *assume* that he meant "... for native-mode Mach execution". When running a POSIX environment one must of course implement pthreads.
NPTL is conceptually feasible for Mach because the Mach kernel has a "threads within processes" process model. This is not true in Coyotos, and we urgently need to understand if this requires an architectural re-examination of assumptions. The Coyotos model is closer in spirit to the LinuxThreads model, wherein threads are co-equal processes with some shared state. ** Question for Neal and Marcus: what is the motivation for taking Mach/Hurd to NPTL, and does the motivation carry over to Coyotos? To start getting my head around this, I went poking around to learn what the real issues were that drove the Linux kernel maintainers to adopt the pthreads model into the kernel. Pthreads wasn't well designed, but I understand that compatibility must sometimes trump architectural purity. The question I was really interested in was: how much of the problem would also be a problem for Coyotos. As I understand matters, three issues motivated the move to NPTL in Linux. In each case, the LinuxThreads behavior could not easily be reconciled with the requirements of pthreads: 1. Signal delivery and blocking 2. Behavior of exec() 3. pthreads broadcast operations Does anybody know of any others? _______________________________________________ coyotos-dev mailing list [email protected] http://www.coyotos.org/mailman/listinfo/coyotos-dev
