FreeBSD Documentation - Hosted by Maarga Systems - the Lotus Developer

8.5 Implementation Notes

8.5.1 Sleep Queues

- Lookup/release

- Adding & waiting.

- Timeout and signal catching.

- Aborting a sleep.

8.5.2 Turnstiles

- Compare/contrast with sleep queues.

- Lookup/wait/release. - Describe TDF_TSNOBLOCK race.

- Priority propagation.

8.5.3 Details of the Mutex Implementation

- Should we require mutexes to be owned for mtx_destroy() since we can not safely assert that they are unowned by anyone else otherwise?

8.5.3.1 Spin Mutexes

- Use a critical section...

8.5.3.2 Sleep Mutexes

- Describe the races with contested mutexes

- Why it is safe to read mtx_lock of a contested mutex when holding the turnstile chain lock.

8.5.4 Witness

- What does it do

- How does it work

This, and other documents, can be downloaded from ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

For questions about FreeBSD, read the documentation before contacting <questions@FreeBSD.org>.
For questions about this documentation, e-mail <doc@FreeBSD.org>.

FreeBSD Documentation - Hosted by Maarga Systems - the Lotus Notes Domino Bespoke Application Services