Skip site navigation (1)Skip section navigation (2)
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>