[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <200809170011.22062.nickpiggin@yahoo.com.au>
Date: Wed, 17 Sep 2008 00:11:21 +1000
From: Nick Piggin <nickpiggin@...oo.com.au>
To: Michael Trimarchi <trimarchimichael@...oo.it>
Cc: Hisashi Hifumi <hifumi.hisashi@....ntt.co.jp>,
akpm@...ux-foundation.org, linux-kernel@...r.kernel.org,
linux-fsdevel@...r.kernel.org
Subject: Re: [PATCH] VFS: make file->f_pos access atomic on 32bit arch
On Tuesday 16 September 2008 23:57, Michael Trimarchi wrote:
> Hi,
>
>
>
> ----- Messaggio originale -----
>
> > Da: Nick Piggin <nickpiggin@...oo.com.au>
> > A: Michael Trimarchi <trimarchimichael@...oo.it>
> > Cc: Hisashi Hifumi <hifumi.hisashi@....ntt.co.jp>;
> > akpm@...ux-foundation.org; linux-kernel@...r.kernel.org;
> > linux-fsdevel@...r.kernel.org Inviato: Martedì 16 settembre 2008,
> > 14:54:21
> > Oggetto: Re: [PATCH] VFS: make file->f_pos access atomic on 32bit arch
> >
> > On Tuesday 16 September 2008 21:11, Michael Trimarchi wrote:
> > > Hi,
> > >
> > > > + if (offset != file_pos_read(file))
> > > > + file_pos_write(file, offset);
> > > > retval = offset;
> > > > }
> > >
> > > Is not more efficient here a compare xchg operation?
> >
> > The compiler should do it if it was.
> > --
> > To unsubscribe from this list: send the line "unsubscribe linux-kernel"
> > in the body of a message to majordomo@...r.kernel.org
> > More majordomo info at http://vger.kernel.org/majordomo-info.html
> > Please read the FAQ at http://www.tux.org/lkml/
>
> i was thinking about introducing a file_pos_update() not implemented using
> file_pos_read()/file_pos_write() and taking the seq_lock or
> disabling preemption only one time
AFAIK, the only way to do an atomic 64 bit store on 32-bit x86 is
"cmpxchg8b" (with lock prefix on SMP). That would be far slower
I'm sure.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists