From: David Rientjes <rientjes@google.com>
To: Sameer Nanda <snanda@chromium.org>
Cc: Luigi Semenzato <semenzato@google.com>,
msb@facebook.com, Andrew Morton <akpm@linux-foundation.org>,
mhocko@suse.cz, Johannes Weiner <hannes@cmpxchg.org>,
Rusty Russell <rusty@rustcorp.com.au>,
oleg@redhat.com, linux-mm@kvack.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] mm, oom: Fix race when selecting process to kill
Date: Wed, 6 Nov 2013 16:35:16 -0800 (PST) [thread overview]
Message-ID: <alpine.DEB.2.02.1311061631280.22318@chino.kir.corp.google.com> (raw)
In-Reply-To: <CANMivWZhNRGW6DPcqpYiUBjOX23LRZ_kJ9DzzfS7VdRpm075ZA@mail.gmail.com>
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.
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2013-11-07 0:35 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-05 23:26 Sameer Nanda
2013-11-06 1:18 ` David Rientjes
2013-11-06 1:25 ` Luigi Semenzato
2013-11-06 1:27 ` David Rientjes
2013-11-06 3:00 ` Vladimir Murzin
2013-11-06 3:04 ` Sameer Nanda
2013-11-06 4:45 ` Luigi Semenzato
2013-11-06 7:17 ` Luigi Semenzato
2013-11-06 16:58 ` Sameer Nanda
2013-11-07 0:35 ` David Rientjes [this message]
2013-11-07 19:34 ` Sameer Nanda
2013-11-08 18:07 ` [PATCH v2] " Sameer Nanda
2013-11-08 18:45 ` Oleg Nesterov
2013-11-08 19:49 ` [PATCH v3] " Sameer Nanda
2013-11-09 15:16 ` Oleg Nesterov
2013-11-11 23:15 ` Sameer Nanda
2013-11-12 0:21 ` [PATCH v4] " Sameer Nanda
2013-11-12 15:13 ` Michal Hocko
2013-11-12 20:01 ` Oleg Nesterov
2013-11-12 20:08 ` Sameer Nanda
2013-11-12 20:23 ` [PATCH v5] " Sameer Nanda
2013-11-13 2:33 ` David Rientjes
2013-11-13 16:46 ` Sameer Nanda
2013-11-13 17:18 ` [PATCH v6] " Sameer Nanda
2013-11-13 17:29 ` Oleg Nesterov
2013-11-14 13:43 ` dserrg
2013-11-14 17:03 ` Sameer Nanda
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=alpine.DEB.2.02.1311061631280.22318@chino.kir.corp.google.com \
--to=rientjes@google.com \
--cc=akpm@linux-foundation.org \
--cc=hannes@cmpxchg.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mhocko@suse.cz \
--cc=msb@facebook.com \
--cc=oleg@redhat.com \
--cc=rusty@rustcorp.com.au \
--cc=semenzato@google.com \
--cc=snanda@chromium.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox