1:1 threading.

Daniel Eischen eischen at pcnet1.pcnet.com
Thu Mar 27 08:46:44 PST 2003


On Thu, 27 Mar 2003, Scott Long wrote:
> Once 5-STABLE happens, users of 5.x can no longer be guinea pigs for KSE
> development.  By keeping the 1:1 and M:N API's separate, KSE can
> progress in 6-CURRENT until it is proven while still allowing MFC's to
> 5-STABLE to happen without too much pain.

That's kind of silly; we have other ways to keep API/ABI
compatability and have used this for all other syscalls.
The KSE and thread mailboxes even have version numbers
in them.

> Later on down the road when
> KSE matures, or when we decide that 1:1 should really just be a special
> case of M:N, we can look at addressing the above concerns and possibly
> MFC'ing the results back to 5-STABLE.  But for now we need to allow for
> 5-STABLE to actually be usable and maintainable.

The libthr implementation of 1:1 is not what most consider
1:1 -- you don't get a separate quantum and priority for
each thread.  As such, this library is really no different
than libkse.  The only real difference is that the UTS
chooses the next thread to run instead of the kernel.
If you're going to add a bunch of code to both userland
(in libthr) and the kernel just to get a working threading
library, it seems much easier to just fix libkse so that
it works for the single KSE/KSEG case.

-- 
Dan Eischen



More information about the freebsd-arch mailing list