Turbostat: Add support for Broadwell (rapl part)
[collectd.git] / src / turbostat.c
index fef1b1e..2f30206 100644 (file)
@@ -585,6 +585,9 @@ submit_counters(struct thread_data *t, struct core_data *c, struct pkg_data *p)
        if ((!aperf_mperf_unstable) || (!(t->aperf > t->tsc || t->mperf > t->tsc)))
                turbostat_submit("Buzy", "frequency", name, 1.0 * t->tsc / 1000000 * t->aperf / t->mperf / interval_float);
 
+       /* Sanity check (should stay stable) */
+       turbostat_submit("TSC", "gauge", name, 1.0 * t->tsc / 1000000 / interval_float);
+
        /* SMI */
        turbostat_submit(NULL, "current", name, t->smi_count);
 
@@ -923,10 +926,7 @@ probe_cpu()
                        break;
                /* Silvermont */
                case 0x37: /* BYT */
-               case 0x4A:
                case 0x4D: /* AVN */
-               case 0x5A:
-               case 0x5D:
                        do_core_cstate = (1 << 1) | (1 << 6);
                        do_pkg_cstate = (1 << 6);
                        break;
@@ -983,22 +983,25 @@ probe_cpu()
                              " model: %#x)", family, model);
                }
                switch (model) {
-               case 0x2A:
-               case 0x3A:
-               case 0x3C:
-               case 0x45:
-               case 0x46:
+               case 0x2A: /* SNB */
+               case 0x3A: /* IVB */
+               case 0x3C: /* HSW */
+               case 0x45: /* HSW */
+               case 0x46: /* HSW */
+               case 0x3D: /* BDW */
                        do_rapl = RAPL_PKG | RAPL_CORES | RAPL_CORE_POLICY | RAPL_PKG_POWER_INFO | RAPL_GFX;
                        break;
-               case 0x3F:
+               case 0x3F: /* HSX */
+               case 0x4F: /* BDX */
+               case 0x56: /* BDX-DE */
                        do_rapl = RAPL_PKG | RAPL_PKG_POWER_INFO | RAPL_PKG_PERF_STATUS | RAPL_DRAM | RAPL_DRAM_PERF_STATUS;
                        break;
-               case 0x2D:
-               case 0x3E:
+               case 0x2D: /* SNB Xeon */
+               case 0x3E: /* IVB Xeon */
                        do_rapl = RAPL_PKG | RAPL_CORES | RAPL_CORE_POLICY | RAPL_PKG_POWER_INFO | RAPL_PKG_PERF_STATUS | RAPL_DRAM | RAPL_DRAM_PERF_STATUS;
                        break;
-               case 0x37:
-               case 0x4D:
+               case 0x37: /* BYT */
+               case 0x4D: /* AVN */
                        do_rapl = RAPL_PKG | RAPL_CORES;
                        break;
                default: