cpus[Cpu_faux_tot].cur.tot = cpus[Cpu_faux_tot].cur.u + cpus[Cpu_faux_tot].cur.s
+ cpus[Cpu_faux_tot].cur.n + cpus[Cpu_faux_tot].cur.i + cpus[Cpu_faux_tot].cur.w
+ cpus[Cpu_faux_tot].cur.x + cpus[Cpu_faux_tot].cur.y + cpus[Cpu_faux_tot].cur.z;
+#ifndef CPU_ZEROTICS
/* if a Nehalem type cpu has been turned off completely, and thus registers
very few total tics, we'll force it to be treated as idle when that total
falls below a % of those expected -- other cpus will register their full
number of expected tics as 'idle' and thus won't be effected */
cpus[Cpu_faux_tot].edge =
((cpus[Cpu_faux_tot].cur.tot - cpus[Cpu_faux_tot].sav.tot) / smp_num_cpus) / (100 / TICS_EDGE);
-
+#endif
// now value each separate cpu's tics, maybe
for (i = 0; i < Cpu_faux_tot && i < Screen_rows; i++) {
#ifdef PRETEND4CPUS
memmove(&cpus[i], &cpus[Cpu_faux_tot], sizeof(CPU_t));
break; // tolerate cpus taken offline
}
+#ifndef CPU_ZEROTICS
cpus[i].edge = cpus[Cpu_faux_tot].edge;
+#endif
// this is for symmetry only, it's not currently required
cpus[i].cur.tot = cpus[Cpu_faux_tot].cur.tot;
#ifdef PRETEND4CPUS
Jan Gorig <jgorig@redhat.com> - April, 2011 */
/* For the motivation and path to nls support, thanks to:
- Sami Kerola, <kerolasa@iki.fi> */
+ Sami Kerola, <kerolasa@iki.fi> - December, 2011 */
/* There are still some short strings that may yet be candidates
for nls support inclusion. They're identified with:
// nls_maybe */
+ /* For initiating the topic of potential % CPU distortions due
+ to Nehalem type processors (see CPU_ZEROTICS), thanks to:
+ Jaromir Capik, <jcapik@redhat.com> - February, 2012 */
+
#ifdef PRETEND2_5_X
#define linux_version_code LINUX_VERSION(2,5,43)
#endif
typedef struct CPU_t {
CT_t cur; // current frame's cpu tics
CT_t sav; // prior frame's cpu tics
+#ifndef CPU_ZEROTICS
SIC_t edge; // tics adjustment threshold boundary
+#endif
int id; // the cpu id number (0 - nn)
} CPU_t;