> |> jif * smp_num_cpus - (user + nice + system)
>
> Changing the line to this:
>
> jif * smp_num_cpus - user - nice - system
>
> should avoid the overflow.
True. It still might be a good idea to make them longs, though,
because they are really totals of all the CPUs, as in:
user += kstat.per_cpu_user[cpu];
Now ultimately, kstat.per_cpu_user[cpu] will overflow, and I don't
know what to do about that, but making user, nice, and system unsigned
long will at least allow SMP systems to last a little while longer.
(Actually I don't know why Procps needs these values at all -- the
claim in the code is that all of this is just to compute the HZ value,
which is presumably needed to be able to interpret jiffies. It'd be a
lot simpler just to have /proc/stat export the HZ value directly.)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Sat Feb 23 2002 - 21:00:23 EST