lkml.org 
[lkml]   [2005]   [Jul]   [14]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] i386: Selectable Frequency of the Timer Interrupt
FromEric St-Laurent <>
DateThu, 14 Jul 2005 21:17:43 -0400
On Thu, 2005-07-14 at 23:37 +0100, Alan Cox wrote:

> In actual fact you also want to fix users of
> 
> 	while(time_before(foo, jiffies)) { whack(mole); }
> 
> to become
> 
> 	init_timeout(&timeout);
> 	timeout.expires = jiffies + n
> 	add_timeout(&timeout);
> 	while(!timeout_expired(&timeout)) {}
> 
> Which is a trivial wrapper around timers as we have them now

Or something like this:

struct timeout_timer {
	unsigned long expires;
};
static inline void timeout_set(struct timeout_timer *timer,
	unsigned int msecs)
{
	timer->expires = jiffies + msecs_to_jiffies(msecs);
}
static inline int timeout_expired(struct timeout_timer *timer)
{
	return (time_after(jiffies, timer->expires));
}
It provides a nice API for relative timeouts without adding overhead.


- Eric St-Laurent


-
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/

\
 
 \ /
  Last update: 2005-07-15 03:21    [from the cache]
©2003-2008