lockmgr
#define os_rwl_rlock(lock) lockmgr(lock, LK_SHARED);
#define os_rwl_wlock(lock) lockmgr(lock, LK_EXCLUSIVE);
#define os_rwl_unlock(lock) lockmgr(lock, LK_RELEASE)
#define os_mtx_lock(lock) lockmgr(lock, LK_EXCLUSIVE)
#define os_mtx_unlock(lock) lockmgr(lock, LK_RELEASE)
lockmgr(nvp->v_vnlock, LK_EXCLUSIVE | LK_NOWITNESS, NULL);
lockmgr(&(pmp)->pm_fatlock, LK_EXCLUSIVE, NULL)
lockmgr(&(pmp)->pm_fatlock, LK_RELEASE, NULL)
void lockmgr(struct lock* lk, u_int flags, struct mtx* ilk);
lockmgr(vp->v_vnlock, LK_RELEASE, NULL);
#define os_rwl_rlock(lock) lockmgr(lock, LK_SHARED);
#define os_rwl_wlock(lock) lockmgr(lock, LK_EXCLUSIVE);
#define os_rwl_unlock(lock) lockmgr(lock, LK_RELEASE)
#define os_mtx_lock(lock) lockmgr(lock, LK_EXCLUSIVE)
#define os_mtx_unlock(lock) lockmgr(lock, LK_RELEASE)