svn commit: r313691 - head/sys/dev/e1000

Sean Bruno sbruno at FreeBSD.org
Sun Feb 12 23:06:42 UTC 2017


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 at 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);
 


More information about the svn-src-head mailing list