Re: [PATCH] VFS: make file->f_pos access atomic on 32bit arch

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tuesday 16 September 2008 23:57, Michael Trimarchi wrote:
> Hi,
>
>
>
> ----- Messaggio originale -----
>
> > Da: Nick Piggin <nickpiggin@xxxxxxxxxxxx>
> > A: Michael Trimarchi <trimarchimichael@xxxxxxxx>
> > Cc: Hisashi Hifumi <hifumi.hisashi@xxxxxxxxxxxxx>;
> > akpm@xxxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx;
> > linux-fsdevel@xxxxxxxxxxxxxxx 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@xxxxxxxxxxxxxxx
> > 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-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux