WSEVENT_QSIZE
ev->q = kmem_alloc(WSEVENT_QSIZE * sizeof(*ev->q), KM_SLEEP);
kmem_free(ev->q, WSEVENT_QSIZE * sizeof(*ev->q));
cnt = WSEVENT_QSIZE - ev->get; /* events in [get..QSIZE) */
if ((ev->get = (ev->get + cnt) % WSEVENT_QSIZE) != 0 ||
kn->kn_data = (WSEVENT_QSIZE - ev->get) + ev->put;
avail = WSEVENT_QSIZE - (ev->put - ev->get);
KASSERT(avail <= WSEVENT_QSIZE);
ev->put = (ev->put + 1) % WSEVENT_QSIZE;