Even with the 2.6.7 kernel, I'm still getting reports of processstart times wandering. Here is an example:

"About 12 hours since reboot to 2.6.7 there was already a difference of about 7 seconds between the real start time and the start time reported by ps. Now, 24 hours since reboot the difference is 10 seconds."

The calculation used is:

now - uptime + time_from_boot_to_process_start

The code shown below works great on a 2.4.xx or earlier kernel.It generally relys on USER_HZ, which is supposedly in our ABI.

I have a feeling we'll forever be chasing bugs related to notusing a PLL to drive the clock tick at exactly HZ ticks per second.Perhaps the DragonflyBSD code could be stolen. Anyway, the code: