<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src-test2/lib/libpthread/thread/thr_yield.c, branch release/5.3.0_cvs</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src-test2/atom?h=release%2F5.3.0_cvs</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src-test2/atom?h=release%2F5.3.0_cvs'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/'/>
<updated>2004-11-04T19:12:42Z</updated>
<entry>
<title>This commit was manufactured by cvs2svn to create tag</title>
<updated>2004-11-04T19:12:42Z</updated>
<author>
<name>cvs2svn</name>
<email>cvs2svn@FreeBSD.org</email>
</author>
<published>2004-11-04T19:12:42Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=3f86d8a2ea3f3265afaa1fd263b0004c5c000e69'/>
<id>urn:sha1:3f86d8a2ea3f3265afaa1fd263b0004c5c000e69</id>
<content type='text'>
'RELENG_5_3_0_RELEASE'.

This commit was manufactured to restore the state of the 5.3-RELEASE image.
</content>
</entry>
<entry>
<title>Treat initial thread as scope system thread when KSE mode is not activated</title>
<updated>2003-08-18T03:58:29Z</updated>
<author>
<name>David Xu</name>
<email>davidxu@FreeBSD.org</email>
</author>
<published>2003-08-18T03:58:29Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=e81bbed597a0ea8392ded3f1161aa98151c496a5'/>
<id>urn:sha1:e81bbed597a0ea8392ded3f1161aa98151c496a5</id>
<content type='text'>
yet, so we can protect some locking code from being interrupted by signal
handling. When KSE mode is turned on, reset the thread flag to scope process
except we are running in 1:1 mode which we needn't turn it off.
Also remove some unused member variables in structure kse.

Tested by: deischen
</content>
</entry>
<entry>
<title>If threaded mode is not turned on yet, direct call __sys_sched_yield.</title>
<updated>2003-08-16T13:02:45Z</updated>
<author>
<name>David Xu</name>
<email>davidxu@FreeBSD.org</email>
</author>
<published>2003-08-16T13:02:45Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=4e7370ed1f9b2e6226f4aaad15d80663f0849380'/>
<id>urn:sha1:4e7370ed1f9b2e6226f4aaad15d80663f0849380</id>
<content type='text'>
</content>
</entry>
<entry>
<title>o Eliminate upcall for PTHREAD_SYSTEM_SCOPE thread, now it</title>
<updated>2003-07-17T23:02:30Z</updated>
<author>
<name>David Xu</name>
<email>davidxu@FreeBSD.org</email>
</author>
<published>2003-07-17T23:02:30Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=090b336154a0d8570ea8fad84e60e7d49aa801e7'/>
<id>urn:sha1:090b336154a0d8570ea8fad84e60e7d49aa801e7</id>
<content type='text'>
  is system bound thread and when it is blocked, no upcall is generated.

o Add ability to libkse to allow it run in pure 1:1 threading mode,
  defining SYSTEM_SCOPE_ONLY in Makefile can turn on this option.

o Eliminate code for installing dummy signal handler for sigwait call.

o Add hash table to find thread.

Reviewed by: deischen
</content>
</entry>
<entry>
<title>Add a method of yielding the current thread with the scheduler</title>
<updated>2003-05-16T19:58:30Z</updated>
<author>
<name>Daniel Eischen</name>
<email>deischen@FreeBSD.org</email>
</author>
<published>2003-05-16T19:58:30Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=fd626336fd97bad05a86f02b646c66d2fe14d01a'/>
<id>urn:sha1:fd626336fd97bad05a86f02b646c66d2fe14d01a</id>
<content type='text'>
lock held (_thr_sched_switch_unlocked()) and use this to avoid
dropping the scheduler lock and having the scheduler retake the
same lock again.

Add a better way of detecting if a low-level lock is in use.

When switching out a thread due to blocking in the UTS, don't
switch to the KSE's scheduler stack only to switch back to
another thread.  If possible switch to the new thread directly
from the old thread and avoid the overhead of the extra
context switch.

Check for pending signals on a thread when entering the scheduler
and add them to the threads signal frame.  This includes some
other minor signal fixes.

Most of this was a joint effor between davidxu and myself.

Reviewed by:	davidxu
Approved by:	re@ (blanket for libpthread)
</content>
</entry>
<entry>
<title>o Don't add a scope system thread's KSE to the list of available</title>
<updated>2003-04-28T23:56:12Z</updated>
<author>
<name>Daniel Eischen</name>
<email>deischen@FreeBSD.org</email>
</author>
<published>2003-04-28T23:56:12Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=55613576f5c40d62fecb4ab76f012917fc399c3e'/>
<id>urn:sha1:55613576f5c40d62fecb4ab76f012917fc399c3e</id>
<content type='text'>
  KSEs when it's thread exits; allow the GC handler to do that.

o Make spinlock/spinlock critical regions.

The following were submitted by davidxu

  o Alow thr_switch() to take a null mailbox argument.

  o Better protect cancellation checks.

  o Don't set KSE specific data when creating new KSEs; rely on the
    first upcall of the KSE to set it.

  o Add the ability to set the maximum concurrency level and do this
    automatically.  We should have a way to enable/disable this with
    some sort of tunable because some applications may not want this
    to be the default.

  o Hold the scheduling lock across thread switch calls.

  o If scheduling of a thread fails, make sure to remove it from the list
    of active threads.

  o Better protect accesses to a joining threads when the target thread is
    exited and detached.

  o Remove some macro definitions that are now provided by &lt;sys/kse.h&gt;.

  o Don't leave the library in threaded mode if creation of the initial
    KSE fails.

  o Wakeup idle KSEs when there are threads ready to run.

  o Maintain the number of threads active in the priority queue.
</content>
</entry>
<entry>
<title>Revamp libpthread so that it has a chance of working in an SMP</title>
<updated>2003-04-18T05:04:16Z</updated>
<author>
<name>Daniel Eischen</name>
<email>deischen@FreeBSD.org</email>
</author>
<published>2003-04-18T05:04:16Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=a0240e2cb0b1ef8e5b61930ac2b850c884daaba8'/>
<id>urn:sha1:a0240e2cb0b1ef8e5b61930ac2b850c884daaba8</id>
<content type='text'>
environment.  This includes support for multiple KSEs and KSEGs.

The ability to create more than 1 KSE via pthread_setconcurrency()
is in the works as well as support for PTHREAD_SCOPE_SYSTEM threads.
Those should come shortly.

There are still some known issues which davidxu and I are working
on, but it'll make it easier for us by committing what we have.

This library now passes all of the ACE tests that libc_r passes
with the exception of one.  It also seems to work OK with KDE
including konqueror, kwrite, etc.  I haven't been able to get
mozilla to run due to lack of java plugin, so I'd be interested
to see how it works with that.

Reviewed by:	davidxu
</content>
</entry>
<entry>
<title>Make libpthread KSE aware.</title>
<updated>2002-09-16T19:52:52Z</updated>
<author>
<name>Jonathan Mini</name>
<email>mini@FreeBSD.org</email>
</author>
<published>2002-09-16T19:52:52Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=255ab70cdf6eb0005e7494657f35d318f666de50'/>
<id>urn:sha1:255ab70cdf6eb0005e7494657f35d318f666de50</id>
<content type='text'>
Reviewed by:	deischen, julian
Approved by:	-arch
</content>
</entry>
<entry>
<title>Make the changes needed for libpthread to compile in its new home.</title>
<updated>2002-09-16T08:45:36Z</updated>
<author>
<name>Jonathan Mini</name>
<email>mini@FreeBSD.org</email>
</author>
<published>2002-09-16T08:45:36Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=cc118d869b950c0c5b934133ed4184e83d88553b'/>
<id>urn:sha1:cc118d869b950c0c5b934133ed4184e83d88553b</id>
<content type='text'>
The new libpthread will provide POSIX threading support using KSE.
These files were previously repo-copied from src/lib/libc_r.

Reviewed by:	deischen
Approved by:	-arch
</content>
</entry>
<entry>
<title>To be consistent, use the __weak_reference macro from &lt;sys/cdefs.h&gt;</title>
<updated>2001-04-10T04:19:21Z</updated>
<author>
<name>Daniel Eischen</name>
<email>deischen@FreeBSD.org</email>
</author>
<published>2001-04-10T04:19:21Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=437df4859af22264a2c620a3720c776bf0c4a58d'/>
<id>urn:sha1:437df4859af22264a2c620a3720c776bf0c4a58d</id>
<content type='text'>
instead of #pragma weak to create weak definitions.

Suggested by:	bde
</content>
</entry>
</feed>
