Messages in this thread | | | Date | Wed, 31 Aug 2005 17:34:30 -0400 | From | Joe Korty <> | Subject | Re: FW: [RFC] A more general timeout specification |
| |
On Wed, Aug 31, 2005 at 03:20:03PM -0600, Christopher Friesen wrote: > Perez-Gonzalez, Inaky wrote: > >In this structure, > >the user specifies: > > whether the time is absolute, or relative to 'now'. > > > >Timeout_sleep has a return argument, endtime, which is also in > >'struct timeout' format. If the input time was relative, then > >it is converted to absolute and returned through this argument. > > Wouldn't it make more sense for the endtime to be returned in the same > format (relative/absolute) as the original timer was specified? That > way an application can set a new timer for "timeout + SLEEPTIME" and on > average it will be reasonably accurate. > > In the proposed method, for endtime to be useful the app needs to check > the current time, compare with the endtime, and figure out the delta. > If you're going to force the app to do all that work anyway, the app may > as well use absolute times. > > Chris
The returned timeout struct has a bit used to mark the value as absolute. Thus the caller treats the returned timeout as a opaque cookie that can be reapplied to the next (or more likely, the to-be restarted) timeout.
A general principle is, once a time has been converted to absolute, it should never be converted back to relative time. To do so means the end-time starts to drift from the original end-time.
Regards, Joe -- "Money can buy bandwidth, but latency is forever" -- John Mashey - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |