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

Reply via email to