[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CA+55aFyajHq2W9HhJWbLASFkTx_kLSHtHuY6mDHKxmoW-LnVEw@mail.gmail.com>
Date: Sun, 20 Sep 2015 11:05:04 -0700
From: Linus Torvalds <torvalds@...ux-foundation.org>
To: Oleg Nesterov <oleg@...hat.com>
Cc: Kyle Walker <kwalker@...hat.com>, Christoph Lameter <cl@...ux.com>,
Michal Hocko <mhocko@...nel.org>,
Andrew Morton <akpm@...ux-foundation.org>,
David Rientjes <rientjes@...gle.com>,
Johannes Weiner <hannes@...xchg.org>,
Vladimir Davydov <vdavydov@...allels.com>,
linux-mm <linux-mm@...ck.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Stanislav Kozina <skozina@...hat.com>,
Tetsuo Handa <penguin-kernel@...ove.sakura.ne.jp>
Subject: Re: can't oom-kill zap the victim's memory?
On Sun, Sep 20, 2015 at 5:56 AM, Oleg Nesterov <oleg@...hat.com> wrote:
>
> In this case the workqueue thread will block.
What workqueue thread?
pagefault_out_of_memory ->
out_of_memory ->
oom_kill_process
as far as I can tell, this can be called by any task. Now, that
pagefault case should only happen when the page fault comes from user
space, but we also have
__alloc_pages_slowpath ->
__alloc_pages_may_oom ->
out_of_memory ->
oom_kill_process
which can be called from just about any context (but atomic
allocations will never get here, so it can schedule etc).
So what's your point? Explain again just how do you guarantee that you
can take the mmap_sem.
Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists