<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src-test/sys/kern/subr_sleepqueue.c, branch stable/7</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src-test/atom?h=stable%2F7</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src-test/atom?h=stable%2F7'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/'/>
<updated>2008-09-16T20:01:57Z</updated>
<entry>
<title>MFC: Close a race in sleepq_broadcast() where the sleepq could be reused</title>
<updated>2008-09-16T20:01:57Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2008-09-16T20:01:57Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=160dd072bb4ab6954de5ba735baae308de78ccfd'/>
<id>urn:sha1:160dd072bb4ab6954de5ba735baae308de78ccfd</id>
<content type='text'>
after it had been assigned to the last sleeping thread.

Approved by:	re (kib)
</content>
</entry>
<entry>
<title>MFC: Fix a spin lock LOR when waking up a thread from a process that is</title>
<updated>2008-09-12T21:00:11Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2008-09-12T21:00:11Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=c0b37a7029152fb217fbeed1c345a4a79a72c5ad'/>
<id>urn:sha1:c0b37a7029152fb217fbeed1c345a4a79a72c5ad</id>
<content type='text'>
swapped out by deferring the wakeup of the swapper kernel process until
after releasing sleepq chain locks.

Approved by:	re (kib)
</content>
</entry>
<entry>
<title>MFC 1.48:  Fix a sleepq race when checking signals.</title>
<updated>2008-04-19T04:45:51Z</updated>
<author>
<name>Jeff Roberson</name>
<email>jeff@FreeBSD.org</email>
</author>
<published>2008-04-19T04:45:51Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=244fcd138508ba4280fe2c49ea250ce3791e7bbf'/>
<id>urn:sha1:244fcd138508ba4280fe2c49ea250ce3791e7bbf</id>
<content type='text'>
</content>
</entry>
<entry>
<title>MFC: Mark sleepqueue chain spin mutexes as recursable.</title>
<updated>2008-03-05T21:12:49Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2008-03-05T21:12:49Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=6c05d010e49ff5b25332add5fa0f27f02ae33004'/>
<id>urn:sha1:6c05d010e49ff5b25332add5fa0f27f02ae33004</id>
<content type='text'>
</content>
</entry>
<entry>
<title>MFC 1.42,1.43: Fix races and other bugs with sleepq timeout handling.</title>
<updated>2008-01-28T21:02:08Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2008-01-28T21:02:08Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=320845726ba5aa0932a856b261caa371636b0a6a'/>
<id>urn:sha1:320845726ba5aa0932a856b261caa371636b0a6a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>subr_sleepqueue.c presents a thread lock missing which leads to dangerous</title>
<updated>2007-09-13T09:12:36Z</updated>
<author>
<name>Attilio Rao</name>
<email>attilio@FreeBSD.org</email>
</author>
<published>2007-09-13T09:12:36Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=c7fb7ce53a68240a2281dcaa8c3e1e822993c35e'/>
<id>urn:sha1:c7fb7ce53a68240a2281dcaa8c3e1e822993c35e</id>
<content type='text'>
races for some struct thread members.
More specifically, this bug seems responsible for some memory dumping
problems people were experiencing.

Fix this adding correct thread locking.

Tested by: rwatson
Submitted by: tegge
Approved by: jeff
Approved by: re
</content>
</entry>
<entry>
<title> - Include opt_sched.h for SCHED_STATS.</title>
<updated>2007-06-12T23:27:31Z</updated>
<author>
<name>Jeff Roberson</name>
<email>jeff@FreeBSD.org</email>
</author>
<published>2007-06-12T23:27:31Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=3036ab79e3076347811f501ad8680d4444ba1b18'/>
<id>urn:sha1:3036ab79e3076347811f501ad8680d4444ba1b18</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Commit 2/14 of sched_lock decomposition.</title>
<updated>2007-06-04T23:50:56Z</updated>
<author>
<name>Jeff Roberson</name>
<email>jeff@FreeBSD.org</email>
</author>
<published>2007-06-04T23:50:56Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=d72e80f09a2a3ef3e0c1a984dd5f64038f3d9f67'/>
<id>urn:sha1:d72e80f09a2a3ef3e0c1a984dd5f64038f3d9f67</id>
<content type='text'>
 - Adapt sleepqueues to the new thread_lock() mechanism.
 - Delay assigning the sleep queue spinlock as the thread lock until after
   we've checked for signals.  It is illegal for a thread to return in
   mi_switch() with any lock assigned to td_lock other than the scheduler
   locks.
 - Change sleepq_catch_signals() to do the switch if necessary to simplify
   the callers.
 - Simplify timeout handling now that locking a sleeping thread has the
   side-effect of locking the sleepqueue.  Some previous races are no
   longer possible.

Tested by:      kris, current@
Tested on:      i386, amd64, ULE, 4BSD, libthr, libkse, PREEMPTION, etc.
Discussed with: kris, attilio, kmacy, jhb, julian, bde (small parts each)
</content>
</entry>
<entry>
<title> - Convert turnstiles and sleepqueus to use UMA.  This provides a modest</title>
<updated>2007-05-18T06:32:24Z</updated>
<author>
<name>Jeff Roberson</name>
<email>jeff@FreeBSD.org</email>
</author>
<published>2007-05-18T06:32:24Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=2b7e2ee7a505adbd7f7355bcaadd8573174464e6'/>
<id>urn:sha1:2b7e2ee7a505adbd7f7355bcaadd8573174464e6</id>
<content type='text'>
   speedup and will be more useful after each gains a spinlock in the
   impending thread_lock() commit.
 - Move initialization and asserts into init/fini routines.  fini routines
   are only needed in the INVARIANTS case for now.

Submitted by:	Attilio Rao &lt;attilio@FreeBSD.org&gt;
Tested by:	kris, jeff
</content>
</entry>
<entry>
<title>Cleaner fix for handling declaration of loop variable under INVARIANTS</title>
<updated>2006-12-17T00:14:20Z</updated>
<author>
<name>Kip Macy</name>
<email>kmacy@FreeBSD.org</email>
</author>
<published>2006-12-17T00:14:20Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=10ebecb796b6c54bea5f11f67def787a2ccabc3e'/>
<id>urn:sha1:10ebecb796b6c54bea5f11f67def787a2ccabc3e</id>
<content type='text'>
- in trying to avoid nested brackets and #ifdef INVARIANTS around i at the
  top, I broke booting for INVARIANTS all together :-(
- the cleanest fix is to simply assign to sq twice if INVARIANTS is enabled
- tested both with and without INVARIANTS :-/
</content>
</entry>
</feed>
