diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2000-07-27 23:20:03 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2000-07-27 23:20:03 +0000 |
commit | 89eba5eb77bbf92ffed6686c951cc35f4027e71f (patch) | |
tree | b56887b1753ca2573002bc7f60e5f3e47c33b116 /fs/proc/proc_misc.c | |
parent | f7ff3f5a67747c7714c3db772d05965a0c033705 (diff) |
Merge with Linux 2.4.0-test5-pre5.
Diffstat (limited to 'fs/proc/proc_misc.c')
-rw-r--r-- | fs/proc/proc_misc.c | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/fs/proc/proc_misc.c b/fs/proc/proc_misc.c index 9f574e278..d7aabc334 100644 --- a/fs/proc/proc_misc.c +++ b/fs/proc/proc_misc.c @@ -287,18 +287,21 @@ static int kstat_read_proc(char *page, char **start, off_t off, int i, len; extern unsigned long total_forks; unsigned long jif = hz_to_std(jiffies); - unsigned sum = 0; + unsigned int sum = 0, user = 0, nice = 0, system = 0; int major, disk; - for (i = 0 ; i < NR_IRQS ; i++) - sum += kstat_irqs(i); - - len = sprintf(page, - "cpu %u %u %u %lu\n", - hz_to_std(kstat.cpu_user), - hz_to_std(kstat.cpu_nice), - hz_to_std(kstat.cpu_system), - jif*smp_num_cpus - hz_to_std(kstat.cpu_user + kstat.cpu_nice + kstat.cpu_system)); + for (i = 0 ; i < smp_num_cpus; i++) { + int cpu = cpu_logical_map(i), j; + + user += hz_to_std(kstat.per_cpu_user[cpu]); + nice += hz_to_std(kstat.per_cpu_nice[cpu]); + system += hz_to_std(kstat.per_cpu_system[cpu]); + for (j = 0 ; j < NR_IRQS ; j++) + sum += kstat.irqs[cpu][j]; + } + + len = sprintf(page, "cpu %u %u %u %lu\n", user, nice, system, + jif * smp_num_cpus - (user + nice + system)); for (i = 0 ; i < smp_num_cpus; i++) len += sprintf(page + len, "cpu%d %u %u %u %lu\n", i, |