Re: [PATCH] add function spin_event_timeout()

From: Roland Dreier
Date: Fri Mar 06 2009 - 20:11:18 EST


> The function spin_event_timeout() takes a condition and timeout value
> (in jiffies) as parameters. It spins until either the condition is true
> or the timeout expires. It returns non-zero if the condition is true,
> zero otherwise.

What's the motivation for this? Where do you plan to use it?

> + * The function returns non-zero if the @condition evaluated to true, or

It's not a function but rather a macro.

> +#define spin_event_timeout(condition, timeout) \
> +({ \
> + long __timeout = jiffies + (timeout); \
> + while (!(condition) && (jiffies < __timeout)); \
> + (condition); \
> +})

If we're going to make this core infrastructure, it seems we should
implement it with all best practices... eg I would think the while loop
should include cpu_relax().
--
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/