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

Re: Why fput is SMP safe?



On Sun, Mar 02, 2003 at 03:56:39PM -0500, Haoqiang Zheng wrote:
> I don't understand why fput is SMP safe. It calls atomic_dec_and_test(), if 
> the return value is true, it then directly goes to the clean up section. 
> But after atomic_dec_and_test() (and before the clean up is done), another 
> process can still call fget(). I mean, I doesn't see fput acquire any lock 
> that can prevent fget be executed. Where I am wrong?

You need to take into account, that if atomic_dec_and_test decremented
to zero, no other pointer to the file exists, so noone can call fget
beyond that point.

-------------------------------------------------------------------------------
						 Jan 'Bulb' Hudec <bulb@ucw.cz>
--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/