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

Richard Henderson (rth@twiddle.net)
Tue, 28 Jan 2003 23:06:39 -0800


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/