John Baldwin cd32bd7ad1 Several improvements to rmlock(9). Many of these are based on patches
provided by Isilon.
- Add an rm_assert() supporting various lock assertions similar to other
  locking primitives.  Because rmlocks track readers the assertions are
  always fully accurate unlike rw_assert() and sx_assert().
- Flesh out the lock class methods for rmlocks to support sleeping via
  condvars and rm_sleep() (but only while holding write locks), rmlock
  details in 'show lock' in DDB, and the lc_owner method used by
  dtrace.
- Add an internal destroyed cookie so that API functions can assert
  that an rmlock is not destroyed.
- Make use of rm_assert() to add various assertions to the API (e.g.
  to assert locks are held when an unlock routine is called).
- Give RM_SLEEPABLE locks their own lock class and always use the
  rmlock's own lock_object with WITNESS.
- Use THREAD_NO_SLEEPING() / THREAD_SLEEPING_OK() to disallow sleeping
  while holding a read lock on an rmlock.

Submitted by:	andre
Obtained from:	EMC/Isilon
2013-06-25 18:44:15 +00:00
..
2012-11-11 23:25:47 +00:00
2012-11-11 23:25:47 +00:00
2013-05-25 16:58:12 +00:00
2013-05-31 00:43:41 +00:00
2013-05-31 00:43:41 +00:00
2013-06-16 10:48:47 +00:00
2012-01-15 13:23:18 +00:00
2013-03-04 12:20:48 +00:00
2012-01-15 13:23:18 +00:00
2012-12-31 11:22:55 +00:00
2011-06-18 13:56:33 +00:00
2012-01-15 13:23:18 +00:00
2013-03-02 00:53:12 +00:00
2010-09-28 03:24:53 +00:00
2012-09-04 12:07:33 +00:00
2012-01-15 13:23:18 +00:00
2012-12-10 23:12:51 +00:00
2013-05-20 20:14:12 +00:00
2013-03-02 00:53:12 +00:00
2013-06-08 13:30:13 +00:00
2013-04-08 19:19:10 +00:00
2011-01-23 12:44:17 +00:00
2012-03-28 20:58:30 +00:00
2013-03-02 21:11:30 +00:00
2012-02-27 18:28:31 +00:00
2013-03-04 12:48:41 +00:00
2013-06-13 01:29:54 +00:00
2013-06-16 10:48:47 +00:00
2011-05-05 02:35:25 +00:00
2013-03-04 12:48:41 +00:00
2013-06-08 13:30:13 +00:00
2013-06-08 13:30:13 +00:00
2013-05-01 20:10:21 +00:00
2013-06-08 13:30:13 +00:00
2010-04-20 17:57:43 +00:00
2013-02-28 13:46:03 +00:00
2011-07-14 21:02:15 +00:00
2012-11-03 22:21:37 +00:00