This commit is contained in:
2026-05-10 21:17:36 +02:00
parent f28cd4c31a
commit 9bd2357b96
7 changed files with 118 additions and 33 deletions

View File

@@ -14,7 +14,7 @@ void cpu_detect(struct cpu_sensors_t *t, const char *pci_dev) {
snprintf(t->hwmon, sizeof(t->hwmon), "/sys/bus/pci/devices/%s/hwmon", pci_dev);
const int ret = get_hwmon_dir(t->hwmon);
if (ret != 0) {
memset(t->hwmon, '\0', sizeof(t->hwmon));
t->hwmon[0] = '\0';
applog(LOG_WRN, "Detected %d cores, module enum #%d. Can't get hwmon path, skipping", t->num_cores, t->module);
return;
}
@@ -41,7 +41,7 @@ void cpu_update(struct cpu_sensors_t *c) {
clock_gettime(CLOCK_MONOTONIC, &curr.ts);
fast_read_num_u64("/sys/class/powercap/intel-rapl:0", "energy_uj", buf, &curr.energy, 1);
c->ptotal = (float)(curr.energy - prev.energy) / (float)((curr.ts.tv_nsec - prev.ts.tv_nsec) / 1000);
c->ptotal = (float)(curr.energy - prev.energy) / (float)timespec_diff_us(&curr.ts, &prev.ts);
prev = curr;
// lots of reads but still faster than reading /proc/cpuinfo
@@ -58,6 +58,11 @@ void cpu_update(struct cpu_sensors_t *c) {
if (c->module == unknown)
return;
if (c->module == k10temp) {
fast_read_num_i16(c->hwmon, "/temp1_input", buf, &c->tctl, 1000);
fast_read_num_i16(c->hwmon, "/temp3_input", buf, &c->tccd1, 1000);
}
// commented out unused values so its faster
if (c->module == zenpower) {
fast_read_num_i16(c->hwmon, "/temp1_input", buf, &c->tdie, 1000);
@@ -66,10 +71,4 @@ void cpu_update(struct cpu_sensors_t *c) {
// utils::fastReadNum<1000>(c->hwmon + "/in1_input", buf, c->vcore);
// utils::fastReadNum<1000>(c->hwmon + "/in2_input", buf, c->vsoc);
}
if (c->module == k10temp) {
fast_read_num_i16(c->hwmon, "/temp1_input", buf, &c->tctl, 1000);
fast_read_num_i16(c->hwmon, "/temp3_input", buf, &c->tccd1, 1000);
}
}