lock_type
void _mp_lock_init(struct __mp_lock *, const struct lock_type *);
static const struct lock_type __lock_type = { .lt_name = #mpl };\
___mp_lock_init(struct __mp_lock *mpl, const struct lock_type *type)
const struct lock_type *type)
const struct lock_type *type, int trace)
const struct lock_type *type, int trace)
const struct lock_type *type)
struct lock_type *type)
struct lock_type smr_lock_type = {
static struct lock_type taskq_lock_type = {
struct lock_type timeout_sleeplock_type = {
struct lock_type timeout_spinlock_type = {
const struct lock_type *type)
const struct lock_type *type)
const struct lock_type *);
static const struct lock_type __lock_type = { .lt_name = #pl }; \
enroll(const struct lock_type *type, const char *subtype,
const struct lock_type *w_type;
witness_hash_get(const struct lock_type *type, const char *subtype)
const struct lock_type *wh_type;
static struct witness *enroll(const struct lock_type *, const char *,
static struct witness *witness_hash_get(const struct lock_type *,
witness_init(struct lock_object *lock, const struct lock_type *type)
const struct lock_type *lo_type;
void ___mp_lock_init(struct __mp_lock *, const struct lock_type *);
static const struct lock_type __lock_type = { .lt_name = #mpl };\
{ .lo_type = &(const struct lock_type){ .lt_name = __MTX_NAME }, \
const struct lock_type *);
static const struct lock_type __lock_type = { .lt_name = #m }; \
const struct lock_type *, int);
static const struct lock_type __lock_type = { .lt_name = #rwl };\
static const struct lock_type __lock_type = { .lt_name = #rwl };\
const struct lock_type *);
static const struct lock_type __lock_type = { .lt_name = #rrwl };\
static struct lock_type __lock_type = { .lt_name = #rwl }; \
struct lock_type *);
{ .lo_type = &(const struct lock_type){ .lt_name = name }, \
void witness_init(struct lock_object *, const struct lock_type *);
int lock_type;
lock_type = rw_status(anon->an_lock);
if (lock_type == RW_READ) {
rw_enter(anon->an_lock, lock_type);