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
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",
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),
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
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",
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]));
48 len += sprintf(page + len,
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
54 #define _LINUX_TIMES_H
57 +#include <asm/div64.h>
58 +#include <asm/types.h>
60 # define jiffies_to_clock_t(x) ((x) / (HZ / USER_HZ))
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
68 +static inline u64 jiffies_64_to_clock_t(u64 x)
70 + do_div(x, HZ / USER_HZ);
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
80 #include <linux/interrupt.h>
81 #include <linux/tqueue.h>
82 #include <linux/kernel_stat.h>
83 +#include <linux/jiffies.h>
85 #include <asm/uaccess.h>
86 +#include <asm/div64.h>
89 asmlinkage long sys_sysinfo(struct sysinfo *info)
93 unsigned long mem_total, sav_total;
94 unsigned int mem_unit, bitcount;
96 memset((char *)&val, 0, sizeof(struct sysinfo));
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;
104 val.loads[0] = avenrun[0] << (SI_LOAD_SHIFT - FSHIFT);
105 val.loads[1] = avenrun[1] << (SI_LOAD_SHIFT - FSHIFT);