Date: Sun, 12 Feb 2017 23:06:41 +0000 (UTC) From: Sean Bruno <sbruno@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r313691 - head/sys/dev/e1000 Message-ID: <201702122306.v1CN6fvB006948@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: sbruno Date: Sun Feb 12 23:06:41 2017 New Revision: 313691 URL: https://svnweb.freebsd.org/changeset/base/313691 Log: Only trigger em_local_timer on queue index 0. This was causing continuous em_local_timer() executions during normal operation and was very likely to cause a lock up on igb(4) devices. Submitted by: Matt Macy (mmacy@nextbsd.org) Reported by: jtl Reviewed by: gallatin Sponsored by: Limelight Networks & Netflix Modified: head/sys/dev/e1000/if_em.c Modified: head/sys/dev/e1000/if_em.c ============================================================================== --- head/sys/dev/e1000/if_em.c Sun Feb 12 21:05:44 2017 (r313690) +++ head/sys/dev/e1000/if_em.c Sun Feb 12 23:06:41 2017 (r313691) @@ -1625,6 +1625,11 @@ em_if_timer(if_ctx_t ctx, uint16_t qid) int i; int trigger = 0; + if (qid != 0) { + /* XXX all this stuff is per-adapter */ + return; + } + em_if_update_admin_status(ctx); em_update_stats_counters(adapter);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201702122306.v1CN6fvB006948>