On Sat Aug 25 21:58:44 2007, [EMAIL PROTECTED] wrote: > > > Also, I don't understand why the code to update btime: > > > > /* calculate task elapsed time in timespec */ > > do_posix_clock_monotonic_gettime(&uptime); > > ts = timespec_sub(uptime, tsk->start_time); > > ... > > stats->ac_btime = get_seconds() - ts.tv_sec; > > > > does not simply use tsk->start_time or tsk->real_start_time without > > comparing it to the current time. > > From what I understand, task->start_time and task->real_start_time > are taken from the realtime clock. The accounting in CSA seems > to be very similar to the accounting done in do_acct_process() > (kernel/acct.c).
In CSA 3.0 ... csa_acct_eop(int exitcode, struct task_struct *p) csa->ac_btime = boottime + ((p->start_time.tv_nsec < NSEC_PER_SEC/2) ? p->start_time.tv_sec : p->start_time.tv_sec +1); where do_posix_clock_monotonic_gettime(&uptime); boottime = xtime.tv_sec - uptime.tv_sec; In an upcoming version of CSA ... csa_acct_eop(struct taskstats *p) csa->ac_btime = p->ac_btime; where do_posix_clock_monotonic_gettime(&uptime); ts = uptime - tsk->start_time; p->ac_btime = get_seconds() - ts.tv_sec; = xtime.tv_sec - (uptime - tsk->start_time); = (xtime.tv_sec - uptime) + tsk->start_time; So they're basically equivalent. Jonathan - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/