--- linux-2.4.20/fs/proc/proc_misc.c Fri Mar 28 15:53:52 2003 +++ linux-2.4.20_boottime/fs/proc/proc_misc.c Fri Mar 28 15:34:21 2003 @@ -41,6 +41,9 @@ #include #include +/* System boot time in seconds since the UNIX epoch. */ +static time_t boottime; + #define LOAD_INT(x) ((x) >> FSHIFT) #define LOAD_FRAC(x) LOAD_INT(((x) & (FIXED_1-1)) * 100) /* @@ -372,10 +375,10 @@ proc_sprintf(page, &off, &len, "\nctxt %u\n" - "btime %lu\n" + "btime %ld\n" "processes %lu\n", kstat.context_swtch, - xtime.tv_sec - jif / HZ, + boottime, total_forks); return proc_calc_metrics(page, start, off, count, eof, len); @@ -580,6 +583,9 @@ {"execdomains", execdomains_read_proc}, {NULL,} }; + + /* Intialise system boot time before creating /proc/stat entry. */ + boottime = xtime.tv_sec - jiffies / HZ; for (p = simple_ones; p->name; p++) create_proc_read_entry(p->name, 0, NULL, p->read_proc, NULL);