krwlock_t
#define _PROP_RWLOCK_DECL(x) krwlock_t x ;
static krwlock_t pmap_main_lock __cacheline_aligned;
static krwlock_t pmap_growkernel_lock __cacheline_aligned;
krwlock_t pm_obj_lock; /* lock for pm_obj */
static krwlock_t pvh_global_lock __attribute__ ((aligned (128)));
krwlock_t pm_dummy_lock; /* ugly hack for abusing uvm_object */
krwlock_t sc_sizelock;
static krwlock_t dkwedges_lock;
static krwlock_t dkwedge_discovery_methods_lock;
krwlock_t sc_smbus_rwlock;
krwlock_t c_sock_rw;
krwlock_t lock;
krwlock_t sc_rwlock;
krwlock_t pf_consistency_lock;
extern krwlock_t pf_consistency_lock;
krwlock_t *slock;
krwlock_t acct_lock;
krwlock_t kauth_lock;
static krwlock_t kqueue_filter_lock; /* lock on filter lists */
krwlock_t exec_lock __cacheline_aligned;
hook_disestablish(hook_list_t *list, krwlock_t *lock, void *vhook)
hook_proc_run(hook_list_t *list, krwlock_t *lock, struct proc *p)
static krwlock_t exithook_lock;
static krwlock_t forkhook_lock;
hook_establish(hook_list_t *list, krwlock_t *lock,
static void rw_abort(const char *, size_t, krwlock_t *, const char *);
rw_cas(krwlock_t *rw, uintptr_t o, uintptr_t n)
rw_swap(krwlock_t *rw, uintptr_t o, uintptr_t n)
const volatile krwlock_t *rw = cookie;
rw_abort(const char *func, size_t line, krwlock_t *rw, const char *msg)
_rw_init(krwlock_t *rw, uintptr_t return_address)
rw_init(krwlock_t *rw)
rw_destroy(krwlock_t *rw)
rw_vector_enter(krwlock_t *rw, const krw_t op)
rw_vector_exit(krwlock_t *rw)
rw_vector_tryenter(krwlock_t *rw, const krw_t op)
rw_downgrade(krwlock_t *rw)
rw_tryupgrade(krwlock_t *rw)
rw_read_held(krwlock_t *rw)
rw_write_held(krwlock_t *rw)
rw_lock_held(krwlock_t *rw)
rw_lock_op(krwlock_t *rw)
krwlock_t *rw = (void *)(uintptr_t)obj; /* discard qualifiers */
rw_obj_free(krwlock_t *lock)
rw_obj_refcnt(krwlock_t *lock)
krwlock_t ro_lock;
uint8_t mo_pad[COHERENCY_UNIT - sizeof(krwlock_t) -
krwlock_t *
return (krwlock_t *)ro;
krwlock_t *
return (krwlock_t *)ro;
rw_obj_hold(krwlock_t *lock)
krwlock_t sysctl_treelock;
static krwlock_t veriexec_op_lock;
krwlock_t lock; /* r/w lock */
static krwlock_t hashstat_lock;
krwlock_t iostatlist_lock;
static krwlock_t percpu_swap_lock __cacheline_aligned;
static krwlock_t accept_filter_lock;
static krwlock_t ksem_pshared_lock __cacheline_aligned;
cache_cross_mount(struct vnode **dvp, krwlock_t **plock)
struct vnode **vn_ret, krwlock_t **plock,
krwlock_t *oldlock, *newlock;
krwlock_t *plock;
krwlock_t wl_rwlock; /* u: File system transaction lock */
krwlock_t * const slock = uobj->vmobjlock;
krwlock_t g_glock; /* getpages lock */
krwlock_t lltable_rwlock;
extern krwlock_t lltable_rwlock;
krwlock_t lle_lock;
krwlock_t sc_lock; /* lock of sc_state, sc_session, and sc_eth_if */
static krwlock_t pppoe_softc_list_lock;
krwlock_t pp_lock; /* lock for sppp structure */
krwlock_t *wg_rwlock;
static krwlock_t pktqueue_list_lock __read_mostly;
static krwlock_t rt_lock __cacheline_aligned;
static krwlock_t in_multilock;
krwlock_t ipi_ep_mtx;
static krwlock_t in6_multilock __cacheline_aligned;
krwlock_t nd6_lock __cacheline_aligned;
extern krwlock_t nd6_lock;
static krwlock_t netexport_lock;
krwlock_t nm_writeverflock; /* lock for below */
krwlock_t exec_lock;
_rw_init(krwlock_t *rw, uintptr_t return_address)
CTASSERT(sizeof(krwlock_t) >= sizeof(void *));
rw_init(krwlock_t *rw)
rw_destroy(krwlock_t *rw)
rw_enter(krwlock_t *rw, const krw_t op)
rw_tryenter(krwlock_t *rw, const krw_t op)
rw_exit(krwlock_t *rw)
rw_tryupgrade(krwlock_t *rw)
rw_downgrade(krwlock_t *rw)
rw_read_held(krwlock_t *rw)
rw_write_held(krwlock_t *rw)
rw_lock_held(krwlock_t *rw)
rw_lock_op(krwlock_t *rw)
rw_init(krwlock_t *rw)
CTASSERT(sizeof(krwlock_t) >= sizeof(void *));
rw_destroy(krwlock_t *rw)
rw_enter(krwlock_t *rw, const krw_t op)
rw_tryenter(krwlock_t *rw, const krw_t op)
rw_exit(krwlock_t *rw)
rw_tryupgrade(krwlock_t *rw)
rw_write_held(krwlock_t *rw)
rw_read_held(krwlock_t *rw)
rw_lock_held(krwlock_t *rw)
rw_lock_op(krwlock_t *rw)
extern krwlock_t exec_lock;
uvm_pagewait(struct vm_page *pg, krwlock_t *lock, const char *wmesg)
static krwlock_t secmodels_lock;
extern krwlock_t exec_lock;
krwlock_t cwdi_lock /* :: lock on struct */
struct vnode **, krwlock_t **, kauth_cred_t);
bool cache_cross_mount(struct vnode **, krwlock_t **);
krwlock_t p_reflock; /* :: lock for debugger, procfs */
int rw_tryupgrade(krwlock_t *);
void rw_downgrade(krwlock_t *);
int rw_read_held(krwlock_t *);
int rw_write_held(krwlock_t *);
int rw_lock_held(krwlock_t *);
krw_t rw_lock_op(krwlock_t *);
void rw_enter(krwlock_t *, const krw_t);
void rw_exit(krwlock_t *);
krwlock_t *rw_obj_alloc(void);
void rw_obj_hold(krwlock_t *);
bool rw_obj_free(krwlock_t *);
u_int rw_obj_refcnt(krwlock_t *);
krwlock_t *rw_obj_tryalloc(void);
void rw_vector_enter(krwlock_t *, const krw_t);
void rw_vector_exit(krwlock_t *);
int rw_vector_tryenter(krwlock_t *, const krw_t);
void _rw_init(krwlock_t *, uintptr_t);
void rw_init(krwlock_t *);
void rw_destroy(krwlock_t *);
int rw_tryenter(krwlock_t *, const krw_t);
krwlock_t vi_lock /* - lock for this vnode */
krwlock_t vi_nc_lock /* - lock on node */
krwlock_t vi_nc_listlock; /* - lock on nn_list */
krwlock_t chm_lock_wbuf;
krwlock_t mutex;
krwlock_t lfs_fraglock;
krwlock_t lfs_iflock; /* Ifile lock */
krwlock_t pm_obj_lock; /* lock for pm_uobject */
krwlock_t *newlock, *oldlock;
krwlock_t *oldlock;
krwlock_t *am_lock; /* lock [locks all vm_amap fields] */
krwlock_t *lock;
krwlock_t *an_lock; /* Lock for an_ref */
static krwlock_t bootstrap_kernel_object_lock;
void uvm_obj_setlock(struct uvm_object *, krwlock_t *);
krwlock_t *slock = pgpp[0]->uobject->vmobjlock;
static krwlock_t uvm_loanzero_lock __cacheline_aligned;
krwlock_t *slock;
krwlock_t *lock;
krwlock_t lock; /* Non-intrsafe lock */
uvm_obj_setlock(struct uvm_object *uo, krwlock_t *lockptr)
krwlock_t *olockptr = uo->vmobjlock;
uvm_pagewait(struct vm_page *pg, krwlock_t *lock, const char *wmesg)
void uvm_pagewait(struct vm_page *, krwlock_t *, const char *);
krwlock_t *slock;
static krwlock_t *
krwlock_t *slock;
krwlock_t *
krwlock_t *slock, *heldslock = NULL;
krwlock_t *slock;
uvmpdpol_selectvictim(krwlock_t **plock)
krwlock_t *lock;
krwlock_t *lock;
static krwlock_t swap_syscall_lock;
krwlock_t rw;
krwlock_t z_parent_lock; /* parent lock for directories */
krwlock_t z_name_lock; /* "master" lock for dirent locks */