Changeset View
Changeset View
Standalone View
Standalone View
sys/netpfil/ipfw/ip_dn_io.c
Show First 20 Lines • Show All 663 Lines • ▼ Show 20 Lines | dummynet_task(void *context, int pending) | ||||
VNET_ITERATOR_DECL(vnet_iter); | VNET_ITERATOR_DECL(vnet_iter); | ||||
VNET_LIST_RLOCK(); | VNET_LIST_RLOCK(); | ||||
NET_EPOCH_ENTER(et); | NET_EPOCH_ENTER(et); | ||||
VNET_FOREACH(vnet_iter) { | VNET_FOREACH(vnet_iter) { | ||||
memset(&q, 0, sizeof(struct mq)); | memset(&q, 0, sizeof(struct mq)); | ||||
CURVNET_SET(vnet_iter); | CURVNET_SET(vnet_iter); | ||||
if (! V_dn_cfg.init_done) { | |||||
CURVNET_RESTORE(); | |||||
continue; | |||||
} | |||||
DN_BH_WLOCK(); | DN_BH_WLOCK(); | ||||
/* Update number of lost(coalesced) ticks. */ | /* Update number of lost(coalesced) ticks. */ | ||||
V_dn_cfg.tick_lost += pending - 1; | V_dn_cfg.tick_lost += pending - 1; | ||||
getmicrouptime(&t); | getmicrouptime(&t); | ||||
/* Last tick duration (usec). */ | /* Last tick duration (usec). */ | ||||
V_dn_cfg.tick_last = (t.tv_sec - V_dn_cfg.prev_t.tv_sec) * 1000000 + | V_dn_cfg.tick_last = (t.tv_sec - V_dn_cfg.prev_t.tv_sec) * 1000000 + | ||||
▲ Show 20 Lines • Show All 304 Lines • Show Last 20 Lines |