Re: [PATCH] i386: Selectable Frequency of the Timer Interrupt

From: Eric St-Laurent
Date: Thu Jul 14 2005 - 20:19:17 EST


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