Re: FW: [RFC] A more general timeout specification

From: Joe Korty
Date: Wed Aug 31 2005 - 16:35:39 EST


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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/