On Wed, 2022-06-01 at 10:21 +0200, Jan Kara wrote: > > I have a question that is a bit offtopic but since it is concerning > > GFP > > flags and this is what is discussed here maybe a participant will > > kindly give me some hints about this mystery that has burned me for > > so > > long... > > > > Why does out_of_memory() requires GFP_FS to kill a process? AFAIK, > > no > > filesystem-dependent operations are needed to kill a process... > > AFAIK it is because without GFP_FS, the chances for direct reclaim > are > fairly limited so we are not sure whether the machine is indeed out > of > memory or whether it is just that we need to reclaim from fs pools to > free > up memory. > > Honza Jan, thx a lot for this lead. I will study it further. Your answer made me realized that the meaning of direct reclaim was not crystal clear to me. I'll return to my Bovet & Cesati book to clear that out (That is probably the book in my bookshelf that I have read the most). After having sending out my question, I have came up with another possible explanation... Maybe it is not so much to send the killing signal to the oom victim that requires GFP_FS but maybe the trouble the condition is avoiding is the oom victim process trying to return memory to VFS as it exits while VFS is busy waiting for its allocation request to succeed...