Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id ; Wed, 29 Jan 2003 01:57:24 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id ; Wed, 29 Jan 2003 01:57:24 -0500 Received: from are.twiddle.net ([64.81.246.98]:28549 "EHLO are.twiddle.net") by vger.kernel.org with ESMTP id ; Wed, 29 Jan 2003 01:57:23 -0500 Date: Tue, 28 Jan 2003 23:06:39 -0800 From: Richard Henderson To: Stephen Hemminger Cc: Linus Torvalds , Andrea Arcangeli , Andrew Morton , Andi Kleen , Linux Kernel Mailing List Subject: Re: [PATCH] (1/4) 2.5.59 fast reader/writer lock for gettimeofday Message-ID: <20030128230639.A17385@twiddle.net> Mail-Followup-To: Stephen Hemminger , Linus Torvalds , Andrea Arcangeli , Andrew Morton , Andi Kleen , Linux Kernel Mailing List References: <1043797341.10150.300.camel@dell_ss3.pdx.osdl.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5.1i In-Reply-To: <1043797341.10150.300.camel@dell_ss3.pdx.osdl.net>; from shemminger@osdl.org on Tue, Jan 28, 2003 at 03:42:21PM -0800 Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org 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/