Hi, I was reading the code of include/linux/fs.h and saw a comment before i_size_read() that says: /* * NOTE: in a 32bit arch with a preemptable kernel and an UP * compile the i_size_read/write must be atomic with respect to * the local cpu (unlike with preempt disabled), but they don't * need to be atomic with respect to other cpus like in true SMP * (so they need either to either locally disable irq around the * read or for example on x86 they can be still implemented as a * cmpxchg8b without the need of the lock prefix). For SMP * compiles and 64bit archs it makes no difference if preempt is * enabled or not. */ I don't understand why this funcion shouldn't be atomic in a 64 bit arch or why it isn't locked. Where is the race condition prevented? regards, diegows -- -------------- Diego Woitasen -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ