From fd57b3917c1bb20bf1c78a4931ee0db2f22286d3 Mon Sep 17 00:00:00 2001 From: erj Date: Tue, 23 Oct 2018 17:06:36 +0000 Subject: [PATCH] Revert r339634. That commit is causing kernel panics in em(4), so this will be reverted until those are fixed. Reported by: ae@, pho@, et al Sponsored by: Intel Corporation --- sys/kern/subr_gtaskqueue.c | 1 - sys/net/iflib.c | 11 +++-------- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/sys/kern/subr_gtaskqueue.c b/sys/kern/subr_gtaskqueue.c index 32084be07115..96dc530373a3 100644 --- a/sys/kern/subr_gtaskqueue.c +++ b/sys/kern/subr_gtaskqueue.c @@ -812,7 +812,6 @@ taskqgroup_detach(struct taskqgroup *qgroup, struct grouptask *gtask) qgroup->tqg_queue[i].tgc_cnt--; LIST_REMOVE(gtask, gt_list); mtx_unlock(&qgroup->tqg_lock); - gtaskqueue_drain(gtask->gt_taskqueue, >ask->gt_task); gtask->gt_taskqueue = NULL; } diff --git a/sys/net/iflib.c b/sys/net/iflib.c index 7a7420c008a9..594d50395d82 100644 --- a/sys/net/iflib.c +++ b/sys/net/iflib.c @@ -2279,8 +2279,8 @@ iflib_timer(void *arg) STATE_LOCK(ctx); if_setdrvflagbits(ctx->ifc_ifp, IFF_DRV_OACTIVE, IFF_DRV_RUNNING); ctx->ifc_flags |= (IFC_DO_WATCHDOG|IFC_DO_RESET); - STATE_UNLOCK(ctx); iflib_admin_intr_deferred(ctx); + STATE_UNLOCK(ctx); } static void @@ -2802,8 +2802,8 @@ iflib_rxeof(iflib_rxq_t rxq, qidx_t budget) err: STATE_LOCK(ctx); ctx->ifc_flags |= IFC_DO_RESET; - STATE_UNLOCK(ctx); iflib_admin_intr_deferred(ctx); + STATE_UNLOCK(ctx); return (false); } @@ -5973,10 +5973,7 @@ iflib_admin_intr_deferred(if_ctx_t ctx) { #ifdef INVARIANTS struct grouptask *gtask; -#endif - if (iflib_in_detach(ctx)) - return; -#ifdef INVARIANTS + gtask = &ctx->ifc_admin_task; MPASS(gtask != NULL && gtask->gt_taskqueue != NULL); #endif @@ -5987,8 +5984,6 @@ iflib_admin_intr_deferred(if_ctx_t ctx) void iflib_iov_intr_deferred(if_ctx_t ctx) { - if (iflib_in_detach(ctx)) - return; GROUPTASK_ENQUEUE(&ctx->ifc_vflr_task); }