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 [EMAIL PROTECTED]
Please read the FAQ at http://kernelnewbies.org/FAQ