MCPcopy Create free account
hub / github.com/F-Stack/f-stack / iflib_tqg_detach

Function iflib_tqg_detach

freebsd/net/iflib.c:5256–5283  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5254}
5255
5256static void
5257iflib_tqg_detach(if_ctx_t ctx)
5258{
5259 iflib_txq_t txq;
5260 iflib_rxq_t rxq;
5261 int i;
5262 struct taskqgroup *tqg;
5263
5264 /* XXX drain any dependent tasks */
5265 tqg = qgroup_if_io_tqg;
5266 for (txq = ctx->ifc_txqs, i = 0; i < NTXQSETS(ctx); i++, txq++) {
5267 callout_drain(&txq->ift_timer);
5268#ifdef DEV_NETMAP
5269 callout_drain(&txq->ift_netmap_timer);
5270#endif /* DEV_NETMAP */
5271 if (txq->ift_task.gt_uniq != NULL)
5272 taskqgroup_detach(tqg, &txq->ift_task);
5273 }
5274 for (i = 0, rxq = ctx->ifc_rxqs; i < NRXQSETS(ctx); i++, rxq++) {
5275 if (rxq->ifr_task.gt_uniq != NULL)
5276 taskqgroup_detach(tqg, &rxq->ifr_task);
5277 }
5278 tqg = qgroup_if_config_tqg;
5279 if (ctx->ifc_admin_task.gt_uniq != NULL)
5280 taskqgroup_detach(tqg, &ctx->ifc_admin_task);
5281 if (ctx->ifc_vflr_task.gt_uniq != NULL)
5282 taskqgroup_detach(tqg, &ctx->ifc_vflr_task);
5283}
5284
5285static void
5286iflib_free_intr_mem(if_ctx_t ctx)

Callers 4

iflib_device_registerFunction · 0.85
iflib_pseudo_registerFunction · 0.85
iflib_pseudo_deregisterFunction · 0.85
iflib_device_deregisterFunction · 0.85

Calls 1

taskqgroup_detachFunction · 0.85

Tested by

no test coverage detected