Messages in this thread |  | | Date | Tue, 28 Jan 2003 23:06:39 -0800 | From | Richard Henderson <> | Subject | Re: [PATCH] (1/4) 2.5.59 fast reader/writer lock for gettimeofday |
| |
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/
|  |