Skip site navigation (1)Skip section navigation (2)
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>