lkml.org 
[lkml]   [2013]   [Nov]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] mm, oom: Fix race when selecting process to kill
On Wed, 6 Nov 2013, Sameer Nanda wrote:

> David -- I think we can make the duration that the tasklist_lock is
> held smaller by consolidating the process selection logic that is
> currently split across select_bad_process and oom_kill_process into
> one place in select_bad_process. The tasklist_lock would then need to
> be held only when the thread lists are being traversed. Would you be
> ok with that? I can re-spin the patch if that sounds like a workable
> option.
>

No, this caused hundreds of machines to hit soft lockups for Google
because there's no synchronization that prevents dozens of cpus to take
tasklist_lock in the oom killer during parallel memcg oom conditions and
never allow the write_lock_irq() on fork() or exit() to make progress. We
absolutely must hold tasklist_lock for as little time as possible in the
oom killer.

That said, I've never actually seen your reported bug manifest in our
production environment so let's see if Oleg has any ideas.


\
 
 \ /
  Last update: 2013-11-07 02:41    [W:0.056 / U:0.324 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site