]>
Commit | Line | Data |
---|---|---|
e0fd00f6 | 1 | diff -urN linux-2.5.25-orig/fs/proc/array.c linux-2.5.25/fs/proc/array.c |
2 | --- linux-2.5.25-orig/fs/proc/array.c Sun Jul 14 14:04:14 2002 | |
3 | +++ linux-2.5.25/fs/proc/array.c Sun Jul 14 14:08:02 2002 | |
4 | @@ -346,7 +346,7 @@ | |
5 | ppid = task->pid ? task->real_parent->pid : 0; | |
6 | read_unlock(&tasklist_lock); | |
7 | res = sprintf(buffer,"%d (%s) %c %d %d %d %d %d %lu %lu \ | |
8 | -%lu %lu %lu %lu %lu %ld %ld %ld %ld %ld %ld %lu %lu %ld %lu %lu %lu %lu %lu \ | |
9 | +%lu %lu %lu %lu %lu %ld %ld %ld %ld %ld %ld %llu %lu %ld %lu %lu %lu %lu %lu \ | |
10 | %lu %lu %lu %lu %lu %lu %lu %lu %d %d %lu %lu\n", | |
11 | task->pid, | |
12 | task->comm, | |
13 | @@ -369,7 +369,7 @@ | |
14 | nice, | |
15 | 0UL /* removed */, | |
16 | jiffies_to_clock_t(task->it_real_value), | |
17 | - jiffies_to_clock_t(task->start_time), | |
18 | + (unsigned long long) jiffies_64_to_clock_t(task->start_time), | |
19 | vsize, | |
20 | mm ? mm->rss : 0, /* you might want to shift this left 3 */ | |
21 | task->rlim[RLIMIT_RSS].rlim_cur, | |
22 | diff -urN linux-2.5.25-orig/fs/proc/proc_misc.c linux-2.5.25/fs/proc/proc_misc.c | |
23 | --- linux-2.5.25-orig/fs/proc/proc_misc.c Sun Jul 14 14:04:14 2002 | |
24 | +++ linux-2.5.25/fs/proc/proc_misc.c Sun Jul 14 14:10:15 2002 | |
25 | @@ -310,7 +310,9 @@ | |
26 | jiffies_to_clock_t(user), | |
27 | jiffies_to_clock_t(nice), | |
28 | jiffies_to_clock_t(system), | |
29 | - jiffies_to_clock_t(jif * num_online_cpus() - (user + nice + system))); | |
30 | + (unsigned long long) | |
31 | + jiffies_64_to_clock_t(jif * num_online_cpus() | |
32 | + - (user + nice + system))); | |
33 | for (i = 0 ; i < NR_CPUS; i++){ | |
34 | if (!cpu_online(i)) continue; | |
35 | len += sprintf(page + len, "cpu%d %lu %lu %lu %llu\n", | |
36 | @@ -318,9 +320,10 @@ | |
37 | jiffies_to_clock_t(kstat.per_cpu_user[i]), | |
38 | jiffies_to_clock_t(kstat.per_cpu_nice[i]), | |
39 | jiffies_to_clock_t(kstat.per_cpu_system[i]), | |
40 | - jiffies_to_clock_t(jif - ( kstat.per_cpu_user[i] \ | |
41 | - + kstat.per_cpu_nice[i] \ | |
42 | - + kstat.per_cpu_system[i]))); | |
43 | + (unsigned long long) | |
44 | + jiffies_64_to_clock_t(jif - kstat.per_cpu_user[i] \ | |
45 | + - kstat.per_cpu_nice[i] \ | |
46 | + - kstat.per_cpu_system[i])); | |
47 | } | |
48 | len += sprintf(page + len, | |
49 | "page %u %u\n" | |
50 | diff -urN linux-2.5.25-orig/include/linux/times.h linux-2.5.25/include/linux/times.h | |
51 | --- linux-2.5.25-orig/include/linux/times.h Sun Jul 14 14:03:28 2002 | |
52 | +++ linux-2.5.25/include/linux/times.h Sun Jul 14 14:11:14 2002 | |
53 | @@ -2,7 +2,22 @@ | |
54 | #define _LINUX_TIMES_H | |
55 | ||
56 | #ifdef __KERNEL__ | |
57 | +#include <asm/div64.h> | |
58 | +#include <asm/types.h> | |
59 | + | |
60 | # define jiffies_to_clock_t(x) ((x) / (HZ / USER_HZ)) | |
61 | + | |
62 | +/* | |
63 | + * returning a different type than the function name says is | |
64 | + * ugly as hell, and only intended to stay until I know what type | |
65 | + * should replace clock_t | |
66 | + */ | |
67 | + | |
68 | +static inline u64 jiffies_64_to_clock_t(u64 x) | |
69 | +{ | |
70 | + do_div(x, HZ / USER_HZ); | |
71 | + return x; | |
72 | +} | |
73 | #endif | |
74 | ||
75 | struct tms { | |
76 | diff -urN linux-2.5.25-orig/kernel/timer.c linux-2.5.25/kernel/timer.c | |
77 | --- linux-2.5.25-orig/kernel/timer.c Sun Jul 14 14:03:39 2002 | |
78 | +++ linux-2.5.25/kernel/timer.c Sun Jul 14 14:06:36 2002 | |
79 | @@ -24,6 +24,8 @@ | |
80 | #include <linux/interrupt.h> | |
81 | #include <linux/tqueue.h> | |
82 | #include <linux/kernel_stat.h> | |
83 | +#include <linux/jiffies.h> | |
84 | ||
85 | #include <asm/uaccess.h> | |
86 | +#include <asm/div64.h> | |
87 | ||
88 | @@ -938,13 +939,16 @@ | |
89 | asmlinkage long sys_sysinfo(struct sysinfo *info) | |
90 | { | |
91 | struct sysinfo val; | |
92 | + u64 uptime; | |
93 | unsigned long mem_total, sav_total; | |
94 | unsigned int mem_unit, bitcount; | |
95 | ||
96 | memset((char *)&val, 0, sizeof(struct sysinfo)); | |
97 | ||
98 | read_lock_irq(&xtime_lock); | |
99 | - val.uptime = jiffies / HZ; | |
100 | + uptime = jiffies_64; | |
101 | + do_div(uptime, HZ); | |
102 | + val.uptime = (unsigned long) uptime; | |
103 | ||
104 | val.loads[0] = avenrun[0] << (SI_LOAD_SHIFT - FSHIFT); | |
105 | val.loads[1] = avenrun[1] << (SI_LOAD_SHIFT - FSHIFT); |