sx_init_flags
#define sx_init(...) sx_init_flags(__VA_ARGS__, 0)
void sx_init_flags(struct sx *, const char *, int);
sx_init_flags((lock), _name, RW_FLAGS); \
sx_init_flags(&m->sx, name, flags);
sx_init_flags(&rw->sx, name, SX_NOWITNESS);
sx_init_flags(&lhw->lvif_sx, "lhw-lvif", SX_RECURSE | SX_DUPOK);
sx_init_flags(&lhw->mc_sx, "lhw-mc", 0);
sx_init_flags(&ice_rdma.mtx, "ice rdma interface", SX_DUPOK);
sx_init_flags(&udev->enum_sx, "USB config SX lock", SX_DUPOK);
sx_init_flags(&udev->sr_sx, "USB suspend and resume SX lock", SX_NOWITNESS);
sx_init_flags(&udev->ctrl_sx, "USB control transfer SX lock", SX_DUPOK);
sx_init_flags(&anp->an_vnode_lock, "autofsvlk", SX_NOWITNESS);
sx_init_flags(&pidhashtbl_lock[i], "pidhash", SX_DUPOK);
sx_init_flags(&rm->rm_lock_sx, "rmlock_sx",
sx_init_flags(sargs->sa_sx, sargs->sa_desc, sargs->sa_flags);
sx_init_flags(&_VLAN_SX_ID, "vlan_sx", SX_RECURSE)
sx_init_flags(&cp->co_interlock, ilockname, SX_RECURSE);
#define sx_init(sx, desc) sx_init_flags((sx), (desc), 0)
void sx_init_flags(struct sx *sx, const char *description, int opts);
sx_init_flags(&ndh->dh_lock, "dirhash", SX_DUPOK);