Date: Tue, 10 Sep 2002 20:43:40 -0700 From: Jon Mini <mini@freebsd.org> To: arch@freebsd.org Subject: Commiting KSE pthreads prototype into -CURRENT. Message-ID: <20020911034340.GI3866@elvis.mu.org>
next in thread | raw e-mail | index | archive | help
My work in the KSE p4 branch has reached the point where I have a functional pthreads library (a modified version of libc_r) that uses KSE for scheduling. An bug in the npx code is causing problems, but once that is resolved I want to commit these changes. A version of the diffs against -CURRENT is available at: http://www.freebsd.org/~mini/kse.diff These diffs modify libc_r rather than just show adding a new library, because that is easier to understand what changes are really happeneing. I would like to do the following: - Commit the kernel changes, minus the NPX modifications. - Commit the changes to libc (modification of the *context() functions). - Repo-copy the current libc_r to another directory, commit the modifications to work with KSE there, and attach it to the build. This brings us to a system where we can use both KSE threading or the old libc_r user threading in the same system, and libc_r is still the default. However, without the NPX changes, floating point operations will have race conditions in threaded apps that will cause inconsistent numerical results. - Once the NPX problems are resolved, commit those changes as well. Looking forward, once KSE has stabalized, we can switch the -pthread option to point to the KSE library rather than the old libc_r. Sometime after that, we can deprecate libc_r and eventually disconnect it from the build. This is some time down the road, however. Right now, we need to ship an experimental version of KSE with 5.0-RELEASE, and I think this is the best way to do it. Comments? Objections? -- Jonathan Mini <mini@freebsd.org> http://www.freebsd.org/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020911034340.GI3866>