Re: [merged]mm-memcg-handle-non-error-oom-situations-more-gracefully.patch removed from-mm tree

From: Michal Hocko
Date: Mon Dec 02 2013 - 08:12:46 EST


On Fri 29-11-13 16:05:04, David Rientjes wrote:
> On Thu, 28 Nov 2013, Michal Hocko wrote:
>
> > > None that I am currently aware of,
> >
> > Are you saing that scenarios described in 3812c8c8f395 (mm: memcg: do not
> > trap chargers with full callstack on OOM) are not real or that _you_
> > haven't seen an issue like that?
> >
> > The later doesn't seem to be so relevant as we had at least one user who
> > has seen those in the real life.
> >
>
> I said I'm not currently aware of any additional problems with the
> patchset,

I have obviously misread your reply. Sorry about that.

> but since Johannes said the entire series wasn't meant for that
> merge window, I asked if it was still being worked on.
>
> > > You don't think something like this is helpful after scanning a memcg will
> > > a large number of processes?
> >
> > It looks as a one-shot workaround for short lived processes to me.
>
> It has nothing to do with how long a process has been running, both racing
> processes could have been running for years. It's obvious that even this
> patch before calling oom_kill_process() does not catch a racing process
> that has already freed its memory and is exiting but it makes the
> liklihood significantly less in testing at scale.

I guess we need to know how much is significantly less.
oom_scan_process_thread already aborts on exiting tasks so we do not
kill anything and then the charge (whole page fault actually) is retried
when we check for the OOM again so my intuition would say that we gave
the exiting task quite a lot of time.

> It's simply better to avoid unnecessary oom killing at anytime
> possible and this is not a hotpath.

--
Michal Hocko
SUSE Labs
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/