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

Re: Regarding the gfp mask "GFP_NOFS"



On Tue, 1 Aug 2006, Daniel Rodrick wrote:

> "The mask GFP_NOFS to kmalloc specifies that the allocation can block
> and can initiate disk I/O, if it must, but will not initiate a
> filesystem operation. This is the flag to use in filesystem code when
> you cannot start another filesystem operation."
> But I could not understand why and how could a filesystem request be
> initiated in order to free memory (the case avoided by GFP_NOFS)?
> What am I missing here?

The statement does not specifically talk about freeing the memory. The 
GFP_NOFS is intended to prevent cross-fs deadlocks during (not only) page 
writeouts.

This has been discussed recently on LKML. Read the thread at
http://lkml.org/lkml/2006/7/26/185

-- 
JiKos.

--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/