Author: sbruno
Date: Fri Jul 21 17:42:54 2017
New Revision: 321336
URL: https://svnweb.freebsd.org/changeset/base/321336

Log:
  Do not update stats counter in SWI context.  Defer to the already existing
  admin thread.
  
  Submitted by: Matt Macy <mm...@mattmacy.io>
  Sponsored by: Limelight Networks

Modified:
  head/sys/dev/e1000/if_em.c

Modified: head/sys/dev/e1000/if_em.c
==============================================================================
--- head/sys/dev/e1000/if_em.c  Fri Jul 21 17:11:36 2017        (r321335)
+++ head/sys/dev/e1000/if_em.c  Fri Jul 21 17:42:54 2017        (r321336)
@@ -1663,9 +1663,7 @@ em_if_timer(if_ctx_t ctx, uint16_t qid)
        if (qid != 0)
                return;
 
-       em_if_update_admin_status(ctx);
-       em_update_stats_counters(adapter);
-
+       iflib_admin_intr_deferred(ctx);
        /* Reset LAA into RAR[0] on 82571 */
        if ((adapter->hw.mac.type == e1000_82571) &&
            e1000_get_laa_state_82571(&adapter->hw))
@@ -1781,6 +1779,7 @@ em_if_update_admin_status(if_ctx_t ctx)
                iflib_link_state_change(ctx, LINK_STATE_DOWN, ifp->if_baudrate);
                printf("link state changed to down\n");
        }
+       em_update_stats_counters(adapter);
 
        E1000_WRITE_REG(&adapter->hw, E1000_IMS, EM_MSIX_LINK | E1000_IMS_LSC);
 }
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to