Date: Tue, 23 Oct 2018 17:06:36 +0000 (UTC) From: Eric Joyner <erj@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r339662 - in head/sys: kern net Message-ID: <201810231706.w9NH6a1q041111@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: erj Date: Tue Oct 23 17:06:36 2018 New Revision: 339662 URL: https://svnweb.freebsd.org/changeset/base/339662 Log: 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 Modified: head/sys/kern/subr_gtaskqueue.c head/sys/net/iflib.c Modified: head/sys/kern/subr_gtaskqueue.c ============================================================================== --- head/sys/kern/subr_gtaskqueue.c Tue Oct 23 16:35:58 2018 (r339661) +++ head/sys/kern/subr_gtaskqueue.c Tue Oct 23 17:06:36 2018 (r339662) @@ -812,7 +812,6 @@ taskqgroup_detach(struct taskqgroup *qgroup, struct gr 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; } Modified: head/sys/net/iflib.c ============================================================================== --- head/sys/net/iflib.c Tue Oct 23 16:35:58 2018 (r339661) +++ head/sys/net/iflib.c Tue Oct 23 17:06:36 2018 (r339662) @@ -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); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201810231706.w9NH6a1q041111>