On Mon, 29 Oct 2007, Kris Kennaway wrote:

Daniel Eischen wrote:
On Mon, 29 Oct 2007, Kris Kennaway wrote:

Daniel Eischen wrote:
On Mon, 29 Oct 2007, Kris Kennaway wrote:

Daniel Eischen wrote:

The libkse implementation already spins for a bit.  The default
number of spins is 500.

OK, cool.

I'm not sure that another mutex type is warranted, the default
mutex implementation should be adaptive I think.

The point being that certain existing applications already know about this mutex name and will use it automatically when it exists.

I am a bit wary of making this the default type though. The algorithm is a pessimization when the conditions described above are not true.

I agree, and it applies a little to the KSE approach also.
Spinning is mostly a hack for not being able to tell in
userland if a thread is swapped in/out or is on another
CPU.  If you solve that problem, then you can make the
default mutex adaptive.

Yeah. It looks like Solaris does this. In principle you could do it cheaply with a shared page, I'm not sure what Solaris does.

I think we should add back the thread mailbox for libthr threads.
I was in favor of keeping the mailbox for libthr, and this might
be a good use for it.

I am not familiar with that code, can you point me to the change that removed it?

This was when David revised libthr, so it never really had a
mailbox.  libkse has the mailbox, and I would have preferred
keeping a similar interface for libthr (specifying it on
thr_create(2)).  You can look at how it works for KSE as an
example.

--
DE
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to