Re: System freezes after OOM

From: Michal Hocko
Date: Mon Jul 18 2016 - 03:22:12 EST


On Fri 15-07-16 13:02:17, Mikulas Patocka wrote:
>
>
> On Fri, 15 Jul 2016, Michal Hocko wrote:
>
> > On Fri 15-07-16 08:11:22, Mikulas Patocka wrote:
> > >
> > > The stacktraces showed that the kcryptd process was throttled when it
> > > tried to do mempool allocation. Mempool adds the __GFP_NORETRY flag to the
> > > allocation, but unfortunatelly, this flag doesn't prevent the allocator
> > > from throttling.
> >
> > Yes and in fact it shouldn't prevent any throttling. The flag merely
> > says that the allocation should give up rather than retry
> > reclaim/compaction again and again.
> >
> > > I say that the process doing mempool allocation shouldn't ever be
> > > throttled. Maybe add __GFP_NOTHROTTLE?
> >
> > A specific gfp flag would be an option but we are slowly running out of
> > bit space there and I am not yet convinced PF_LESS_THROTTLE is
> > unsuitable.
>
> PF_LESS_THROTTLE will make it throttle less, but it doesn't eliminate
> throttling entirely. So, maybe add PF_NO_THROTTLE? But PF_* flags are also
> almost exhausted.

I am not really sure we can make anybody so special to not throttle at all.
Seeing a congested backig device sounds like a reasonable compromise.
Besides that it seems that we do not really need to eliminate
wait_iff_congested for dm to work properly again AFAIU. I plan to repost
both patch today after some more internal review. If we need to do more
changes I would suggest making them in separet patches.
--
Michal Hocko
SUSE Labs