How to avoid or reduce GFP_ATOMIC allocation failed

wuzhouhui wuzhouhui14 at mails.ucas.ac.cn
Fri Mar 8 02:34:18 EST 2019


> -----Original Messages-----
> From: "Greg KH" <greg at kroah.com>
> Sent Time: 2019-03-08 15:21:52 (Friday)
> To: wuzhouhui <wuzhouhui14 at mails.ucas.ac.cn>
> Cc: kernelnewbies at kernelnewbies.org
> Subject: Re: How to avoid or reduce GFP_ATOMIC allocation failed
> 
> On Fri, Mar 08, 2019 at 01:37:26PM +0800, wuzhouhui wrote:
> > Hi,
> > 
> > I check kernel code and found that GFP_ATOMIC allocation will
> > use emergency pool and maybe failed if emergency pool is not
> > enough. And GFP_ATOMIC doesn't trigger reclaim (because of
> > ATOMIC) even if there are a lot of page caches. So my question
> > is how to avoid or reduce GFP_ATOMIC allocation failed if there
> > are enough reclaimable memory? Is there some kernel parameters
> > can be configured?
> 
> Have you seen the ATOMIC pools be used up and not able to be reclaimed
> in real-world usages?  If so, I'm sure the mm developers would love to

No, I haven't seen this scenario. But I encountered the similar issue
with [1] (order is 5 in my scenario), and this issue is not resolved for
now.

Thanks.

[1] https://stackoverflow.com/questions/53936183/linux-disk-cache-and-kmalloc-with-gfp-atomic#

> hear from you about this as I really do not think that is a situation
> that can happen easily, if at all.
> 
> And no, I do not think there are any such parameters, the kernel should
> be self-tuning for things like this.
> 
> thanks,
> 
> greg k-h


More information about the Kernelnewbies mailing list