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 | |||||