Author: avg
Date: Mon Feb 27 17:20:49 2017
New Revision: 314350
URL: https://svnweb.freebsd.org/changeset/base/314350

Log:
  MFC r313752,r314035: mca: use time_uptime instead of ticks for CMCI throttling

Modified:
  stable/10/sys/x86/x86/mca.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/x86/x86/mca.c
==============================================================================
--- stable/10/sys/x86/x86/mca.c Mon Feb 27 17:20:44 2017        (r314349)
+++ stable/10/sys/x86/x86/mca.c Mon Feb 27 17:20:49 2017        (r314350)
@@ -73,7 +73,7 @@ enum scan_mode {
  */
 struct cmc_state {
        int     max_threshold;
-       int     last_intr;
+       time_t  last_intr;
 };
 #endif
 
@@ -535,7 +535,7 @@ cmci_update(enum scan_mode mode, int ban
        cc = &cmc_state[PCPU_GET(cpuid)][bank];
        ctl = rdmsr(MSR_MC_CTL2(bank));
        count = (rec->mr_status & MC_STATUS_COR_COUNT) >> 38;
-       delta = (u_int)(ticks - cc->last_intr);
+       delta = (u_int)(time_uptime - cc->last_intr);
 
        /*
         * If an interrupt was received less than cmc_throttle seconds
@@ -552,7 +552,7 @@ cmci_update(enum scan_mode mode, int ban
                        ctl |= limit;
                        wrmsr(MSR_MC_CTL2(bank), limit);
                }
-               cc->last_intr = ticks;
+               cc->last_intr = time_uptime;
                return;
        }
 
@@ -852,7 +852,7 @@ cmci_resume(int i)
                return;
 
        cc = &cmc_state[PCPU_GET(cpuid)][i];
-       cc->last_intr = -ticks;
+       cc->last_intr = 0;
        ctl = rdmsr(MSR_MC_CTL2(i));
        ctl &= ~MC_CTL2_THRESHOLD;
        ctl |= MC_CTL2_CMCI_EN | 1;
_______________________________________________
svn-src-stable-10@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-stable-10
To unsubscribe, send any mail to "svn-src-stable-10-unsubscr...@freebsd.org"

Reply via email to