witness
struct witness *w;
static struct witness *
struct witness *w;
adopt(struct witness *parent, struct witness *child)
itismychild(struct witness *parent, struct witness *child)
_isitmyx(struct witness *w1, struct witness *w2, int rmask, const char *fname)
isitmychild(struct witness *parent, struct witness *child)
isitmydescendant(struct witness *ancestor, struct witness *descendant)
static struct witness *
struct witness *w;
witness_free(struct witness *w)
witness_search(struct witness *w, struct witness *target,
struct witness **path, int depth, int *remaining)
struct witness *parent, struct witness *child, int step, int last)
struct witness *parent, struct witness *child)
struct witness *path[4];
struct witness *w;
struct witness *w1, *w2;
struct witness *w;
db_witness_add_fullgraph(struct witness *w)
SLIST_ENTRY(witness) w_list; /* List of all witnesses. */
SLIST_ENTRY(witness) w_typelist; /* Witnesses of a type. */
SLIST_ENTRY(witness) w_hash_next; /* Linked list in
static struct witness *
struct witness *w;
witness_hash_put(struct witness *w)
witness_lock_order_get(struct witness *parent, struct witness *child)
witness_lock_order_check(struct witness *parent, struct witness *child)
SLIST_HEAD(witness_list, witness);
witness_lock_order_add(struct witness *parent, struct witness *child)
witness_lock_type_equal(struct witness *w1, struct witness *w2)
static int _isitmyx(struct witness *w1, struct witness *w2, int rmask,
static void adopt(struct witness *parent, struct witness *child);
static struct witness *enroll(const struct lock_type *, const char *,
static int isitmychild(struct witness *parent, struct witness *child);
static int isitmydescendant(struct witness *parent, struct witness *child);
static void itismychild(struct witness *parent, struct witness *child);
static void db_witness_add_fullgraph(struct witness *parent);
struct witness *, int indent);
static void witness_ddb_level_descendants(struct witness *parent, int l);
static void witness_free(struct witness *m);
static struct witness *witness_get(void);
static struct witness *witness_hash_get(const struct lock_type *,
static void witness_hash_put(struct witness *w);
static int witness_lock_order_add(struct witness *parent,
struct witness *child);
static int witness_lock_order_check(struct witness *parent,
struct witness *child);
struct witness *parent,
struct witness *child);
struct witness *parent, struct witness *child);
struct witness *parent, struct witness *child,
static int witness_search(struct witness *w, struct witness *target,
struct witness **path, int depth, int *remaining);
static struct witness *w_data;
struct witness *w;
w_data = (void *)uvm_pageboot_alloc(sizeof(struct witness) *
memset(w_data, 0, sizeof(struct witness) * witness_count);
struct witness *w;
witness_ddb_level_descendants(struct witness *w, int l)
struct witness *w, int indent)
struct witness *w;
struct witness *w;
struct witness *w, *w1;
struct witness *lo_witness; /* Data for witness. */