mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Rafael J. Wysocki" <rjw@rjwysocki.net>
To: Michal Hocko <mhocko@suse.cz>
Cc: Tejun Heo <tj@kernel.org>, Cong Wang <xiyou.wangcong@gmail.com>,
	LKML <linux-kernel@vger.kernel.org>,
	David Rientjes <rientjes@google.com>,
	Andrew Morton <akpm@linux-foundation.org>
Subject: Re: [Patch v4 1/2] freezer: check OOM kill while being frozen
Date: Sun, 14 Sep 2014 18:39:54 +0200	[thread overview]
Message-ID: <1507312.nQ09A9EeVa@vostro.rjw.lan> (raw)
In-Reply-To: <20140911144509.GM22042@dhcp22.suse.cz>

On Thursday, September 11, 2014 04:45:09 PM Michal Hocko wrote:
> On Thu 11-09-14 16:52:50, Rafael J. Wysocki wrote:
> > On Thursday, September 11, 2014 04:28:22 PM Michal Hocko wrote:
> > > On Thu 11-09-14 16:32:50, Rafael J. Wysocki wrote:
> > > > On Thursday, September 11, 2014 04:10:51 PM Michal Hocko wrote:
> > > > > On Thu 11-09-14 16:26:56, Rafael J. Wysocki wrote:
> > > > > > On Thursday, September 11, 2014 04:04:48 PM Michal Hocko wrote:
> > > > > > > On Thu 11-09-14 16:17:56, Rafael J. Wysocki wrote:
> > > > > > > [...]
> > > > > > > > And I'm still wondering if the OOM killer may be made avoid killing frozen
> > > > > > > > tasks.
> > > > > > > 
> > > > > > > This is really tricky. OOM killer aims at the biggest memory hog. We
> > > > > > > shouldn't ignore it just because it hides into the fridge... So even
> > > > > > > if we "fix" oom killer to ignore frozen tasks (which is inherently
> > > > > > > racy btw.) then we have a potential problem of freezer abuse (e.g. in
> > > > > > > container environments). So I strongly believe that the OOM killer has
> > > > > > > to be able to kill a frozen tasks.
> > > > > > 
> > > > > > OK
> > > > > > 
> > > > > > Is the OOM killer the only place where TIF_MEMDIE is set?
> > > > > 
> > > > > Yes. To be precise, lowmemorykiller (staging android thingy), global OOM
> > > > > killer and memcg OOM killer. Any other users would be an abuse.
> > > > 
> > > > OK
> > > > 
> > > > So can we ensure that those things don't trigger during system suspend (or
> > > > equivalent) and then simply use the TIF_MEMDIE check in __refrigerator()?
> > > 
> > > That would require that no memory allocation triggers OOM killer during
> > > suspend. I don't think this will work out. OOM killer is the last resort
> > > action. We cannot simply give access to memory reserves just because the
> > > current context is in the middle of suspend.
> > 
> > But we can fail the allocation, can't we?
> 
> We already do that by oom_killer_disable after all tasks are frozen in
> freeze_processes. This is before all other device specific things are
> done so I guess we cannot start killing after any device is suspended,
> right? This should be sufficient.

Yes, it should.

> > > What is the worst thing that might happen when a task is killed in the
> > > middle of suspend? I thought that suspend would fail after several
> > > attempts to suspend all existing tasks.
> > 
> > The problem is what to do when we need to kill a frozen task.
> > 
> > In that case we need to thaw it and then it will die eventually.  Unfortunately,
> > it generally can do something undesirable before dying.  That may be accessing
> > a suspended device, for example.
> 
> OK, I have misunderstood you obviously. I thought we were discussing OOM
> while we are in the middle of freezing tasks. After they are frozen
> there is no OOM killer as per above.

Right.

-- 
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.

  reply	other threads:[~2014-09-14 16:20 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-04 22:30 Cong Wang
2014-09-04 22:30 ` [Patch v4 2/2] freezer: remove obsolete comments in __thaw_task() Cong Wang
2014-09-05  9:45   ` Michal Hocko
2014-09-05 14:09   ` Tejun Heo
2014-09-05 14:08 ` [Patch v4 1/2] freezer: check OOM kill while being frozen Tejun Heo
2014-09-05 16:31   ` Cong Wang
2014-09-05 18:00     ` Tejun Heo
2014-09-05 18:12       ` Cong Wang
2014-09-05 22:45         ` Tejun Heo
2014-09-05 23:32           ` Rafael J. Wysocki
2014-09-08 17:40             ` Cong Wang
2014-09-08 20:54               ` Rafael J. Wysocki
2014-09-08 20:58                 ` Cong Wang
2014-09-08 21:53                   ` Rafael J. Wysocki
2014-09-08 22:22                     ` Tejun Heo
2014-09-08 22:48                       ` Rafael J. Wysocki
2014-09-08 22:50                         ` Tejun Heo
2014-09-08 23:15                           ` Rafael J. Wysocki
2014-09-08 23:00                             ` Cong Wang
2014-09-08 23:23                               ` Rafael J. Wysocki
2014-09-08 23:16                                 ` Cong Wang
2014-09-08 23:42                                   ` Rafael J. Wysocki
2014-09-08 23:29                                     ` Cong Wang
2014-09-08 23:59                                       ` Rafael J. Wysocki
2014-09-10 20:30                                       ` Cong Wang
2014-09-10 23:38                                         ` Rafael J. Wysocki
2014-09-10 23:20                                           ` Cong Wang
2014-09-11 16:30                                         ` Michal Hocko
2014-09-12 23:59                                           ` Tejun Heo
2014-09-14 16:43                                             ` Rafael J. Wysocki
2014-09-15  0:56                                               ` Tejun Heo
2014-09-15  3:34                                                 ` Rafael J. Wysocki
2014-09-15  9:36                                                   ` Michal Hocko
2014-09-16 22:55                                                     ` Cong Wang
2014-09-22  8:21                                                       ` Michal Hocko
2014-09-09 15:16                           ` Michal Hocko
2014-09-09 15:23                             ` Tejun Heo
2014-09-09 16:06                               ` Michal Hocko
2014-09-09 16:46                                 ` Tejun Heo
2014-09-09 17:12                                   ` Michal Hocko
2014-09-09 20:53                                   ` Rafael J. Wysocki
2014-09-10 13:24                                     ` Michal Hocko
2014-09-11 13:08                                       ` Michal Hocko
2014-09-11 14:17                                         ` Rafael J. Wysocki
2014-09-11 14:04                                           ` Michal Hocko
2014-09-11 14:26                                             ` Rafael J. Wysocki
2014-09-11 14:10                                               ` Michal Hocko
2014-09-11 14:32                                                 ` Rafael J. Wysocki
2014-09-11 14:28                                                   ` Michal Hocko
2014-09-11 14:52                                                     ` Rafael J. Wysocki
2014-09-11 14:45                                                       ` Michal Hocko
2014-09-14 16:39                                                         ` Rafael J. Wysocki [this message]
2014-09-12 23:48                                       ` Tejun Heo
2014-09-15 14:28                                         ` Michal Hocko
2014-09-16  5:56                                           ` Tejun Heo
2014-09-09 20:48                               ` Rafael J. Wysocki
2014-09-10  5:21                                 ` Cong Wang
2014-09-05 16:43   ` Cong Wang
2014-09-05 16:54     ` Michal Hocko
2014-09-15 11:22 ` Michal Hocko
2014-09-16 22:58   ` Cong Wang

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=1507312.nQ09A9EeVa@vostro.rjw.lan \
    --to=rjw@rjwysocki.net \
    --cc=akpm@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mhocko@suse.cz \
    --cc=rientjes@google.com \
    --cc=tj@kernel.org \
    --cc=xiyou.wangcong@gmail.com \
    /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

all inboxes | Powered by JetHome®