At 15:43 08/10/07, Andi Kleen wrote: >Hisashi Hifumi <hifumi.hisashi@xxxxxxxxxxxxx> writes: > >> Hi Andrew. >> >> Currently reading or writing file->f_pos is not atomic on 32bit environment, >> so two or more simultaneous access can corrupt file->f_pos value. >> There are some past discussions about this issue, but this is not fixed yet. >> http://marc.info/?l=linux-kernel&m=120764199819899&w=2 >> http://marc.info/?l=linux-kernel&m=114490379102476&w=2 > >Have you benchmarked if cmpxchg is cheaper than the seqlock? It's not >clear to me a seqlock is really the right locking primitive for >this. Normally seqlocks should be used when reading is much more >frequent than writing, but it's doubtful that this is actually the >case for f_pos. Maybe cmpxchg8b is good for i486 or later x86, but i386 or other architectures that do not have similar instruction needs some locking primitive. I think lazy seqlock is one option for making file->f_pos access atomic. -- 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