Re: [PATCH] (1/4) 2.5.59 fast reader/writer lock for gettimeofday

From: Richard Henderson (rth@twiddle.net)
Date: Wed Jan 29 2003 - 02:06:39 EST


On Tue, Jan 28, 2003 at 03:42:21PM -0800, Stephen Hemminger wrote:
> +static inline void fr_write_begin(frlock_t *rw)
> +{
> + preempt_disable();
> + rw->pre_sequence++;
> + wmb();
> +}
> +
> +static inline void fr_write_end(frlock_t *rw)
> +{
> + wmb();
> + rw->post_sequence++;

These need to be mb(), not wmb(), if you want the bits in between
to actually happen in between, as with your xtime example. At
present there's nothing stoping xtime from being *read* before
your read from pre_sequence happens.

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



This archive was generated by hypermail 2b29 : Fri Jan 31 2003 - 22:00:21 EST