// I/O completion time and the backlog that may be accumulating.
backlog_ms = strtoull(procfile_lineword(ff, l, 13), NULL, 10); // rq_ticks
+
+ // do not add a disk that is completely idle
+ if(!reads && !writes && !busy_ms) continue;
+
int def_enabled = 0;
// remove slashes from disk names
st = rrdset_find_bytype("cpu", id);
if(!st) {
+ // find if everything is zero
+ unsigned long long core_sum = 0 ;
+ for(l = 0; l < lines ;l++) {
+ if(!irrs[l].used) continue;
+ core_sum += irrs[l].value[c];
+ }
+ if(core_sum == 0) continue; // try next core
+
char name[256], title[256];
snprintf(name, 256, "cpu%d_softirqs", c);
snprintf(title, 256, "CPU%d softirqs", c);