]> git.pld-linux.org Git - packages/kernel.git/blob - kernel-fslink.patch
- added description of djurban's branch
[packages/kernel.git] / kernel-fslink.patch
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);
This page took 0.04283 seconds and 3 git commands to generate.