From: Johannes Weiner <hannes@cmpxchg.org>
To: David Rientjes <rientjes@google.com>
Cc: Michal Hocko <mhocko@suse.cz>,
Andrew Morton <akpm@linux-foundation.org>,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
linux-kernel@vger.kernel.org, linux-mm@kvack.org,
cgroups@vger.kernel.org
Subject: Re: [patch 1/2] mm, memcg: avoid oom notification when current needs access to memory reserves
Date: Wed, 27 Nov 2013 21:28:04 -0500 [thread overview]
Message-ID: <20131128022804.GJ3556@cmpxchg.org> (raw)
In-Reply-To: <alpine.DEB.2.02.1311271613340.10617@chino.kir.corp.google.com>
On Wed, Nov 27, 2013 at 04:22:18PM -0800, David Rientjes wrote:
> On Wed, 27 Nov 2013, Johannes Weiner wrote:
>
> > > The patch is drawing the line at "the kernel can no longer do anything to
> > > free memory", and that's the line where userspace should be notified or a
> > > process killed by the kernel.
> > >
> > > Giving current access to memory reserves in the oom killer is an
> > > optimization so that all reclaim is exhausted prior to declaring
> > > that they are necessary, the kernel still has the ability to allow
> > > that process to exit and free memory.
> >
> > "they" are necessary?
> >
>
> Memory reserves.
>
> > > This is the same as the oom notifiers within the kernel that free
> > > memory from s390 and powerpc archs: the kernel still has the ability
> > > to free memory.
> >
> > They're not the same at all. One is the kernel freeing memory, the
> > other is a random coincidence.
> >
>
> Current is on the way to memory freeing because it has a pending SIGKILL
> or is already exiting, it simply needs access to memory reserves to do so.
> This was originally introduced to prevent the oom killer from having to
> scan the set of eligible processes and silently giving it access to memory
> reserves; we didn't want to emit all of the messages to the kernel log
> because scripts (and admins) were looking at the kernel log and seeing
> that the oom killer killed something when it really came from a different
> source or was already exiting.
>
> We have a differing opinion on what to consider the point of oom (the
> "notification line that has to be drawn"). My position is to notify
> userspace when the kernel has exhausted its capability to free memory
> without killing something. In the case of current exiting or having a
> pending SIGKILL, memory is going to be freed, the oom killer simply needs
> to preempt the tasklist scan. The situation is going to be remedied. I
> defined the notification with this patch to only happen when the kernel
> can't free any memory without a kill so that userspace may do so itself.
> Michal concurred with that position.
The long-standing, user-visible definition of the current line agrees
with me. You can't just redefine this, period.
I tried to explain to you how insane the motivation for this patch is,
but it does not look like you are reading what I write. But you don't
get to change user-visible behavior just like that anyway, much less
so without a sane reason, so this was a complete waste of time :-(
--
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>
WARNING: multiple messages have this Message-ID (diff)
From: Johannes Weiner <hannes@cmpxchg.org>
To: David Rientjes <rientjes@google.com>
Cc: Michal Hocko <mhocko@suse.cz>,
Andrew Morton <akpm@linux-foundation.org>,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
linux-kernel@vger.kernel.org, linux-mm@kvack.org,
cgroups@vger.kernel.org
Subject: Re: [patch 1/2] mm, memcg: avoid oom notification when current needs access to memory reserves
Date: Wed, 27 Nov 2013 21:28:04 -0500 [thread overview]
Message-ID: <20131128022804.GJ3556@cmpxchg.org> (raw)
In-Reply-To: <alpine.DEB.2.02.1311271613340.10617@chino.kir.corp.google.com>
On Wed, Nov 27, 2013 at 04:22:18PM -0800, David Rientjes wrote:
> On Wed, 27 Nov 2013, Johannes Weiner wrote:
>
> > > The patch is drawing the line at "the kernel can no longer do anything to
> > > free memory", and that's the line where userspace should be notified or a
> > > process killed by the kernel.
> > >
> > > Giving current access to memory reserves in the oom killer is an
> > > optimization so that all reclaim is exhausted prior to declaring
> > > that they are necessary, the kernel still has the ability to allow
> > > that process to exit and free memory.
> >
> > "they" are necessary?
> >
>
> Memory reserves.
>
> > > This is the same as the oom notifiers within the kernel that free
> > > memory from s390 and powerpc archs: the kernel still has the ability
> > > to free memory.
> >
> > They're not the same at all. One is the kernel freeing memory, the
> > other is a random coincidence.
> >
>
> Current is on the way to memory freeing because it has a pending SIGKILL
> or is already exiting, it simply needs access to memory reserves to do so.
> This was originally introduced to prevent the oom killer from having to
> scan the set of eligible processes and silently giving it access to memory
> reserves; we didn't want to emit all of the messages to the kernel log
> because scripts (and admins) were looking at the kernel log and seeing
> that the oom killer killed something when it really came from a different
> source or was already exiting.
>
> We have a differing opinion on what to consider the point of oom (the
> "notification line that has to be drawn"). My position is to notify
> userspace when the kernel has exhausted its capability to free memory
> without killing something. In the case of current exiting or having a
> pending SIGKILL, memory is going to be freed, the oom killer simply needs
> to preempt the tasklist scan. The situation is going to be remedied. I
> defined the notification with this patch to only happen when the kernel
> can't free any memory without a kill so that userspace may do so itself.
> Michal concurred with that position.
The long-standing, user-visible definition of the current line agrees
with me. You can't just redefine this, period.
I tried to explain to you how insane the motivation for this patch is,
but it does not look like you are reading what I write. But you don't
get to change user-visible behavior just like that anyway, much less
so without a sane reason, so this was a complete waste of time :-(
next prev parent reply other threads:[~2013-11-28 2:28 UTC|newest]
Thread overview: 212+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-31 1:39 [patch] mm, memcg: add memory.oom_control notification for system oom David Rientjes
2013-10-31 1:39 ` David Rientjes
[not found] ` <alpine.DEB.2.02.1310301838300.13556-X6Q0R45D7oAcqpCFd4KODRPsWskHk0ljAL8bYrjMMd8@public.gmane.org>
2013-10-31 5:49 ` Johannes Weiner
2013-10-31 5:49 ` Johannes Weiner
2013-10-31 5:49 ` Johannes Weiner
[not found] ` <20131031054942.GA26301-druUgvl0LCNAfugRpC6u6w@public.gmane.org>
2013-11-13 22:19 ` David Rientjes
2013-11-13 22:19 ` David Rientjes
2013-11-13 22:19 ` David Rientjes
[not found] ` <alpine.DEB.2.02.1311131416460.23211-X6Q0R45D7oAcqpCFd4KODRPsWskHk0ljAL8bYrjMMd8@public.gmane.org>
2013-11-13 23:34 ` Johannes Weiner
2013-11-13 23:34 ` Johannes Weiner
2013-11-13 23:34 ` Johannes Weiner
2013-11-14 0:56 ` David Rientjes
2013-11-14 0:56 ` David Rientjes
2013-11-14 3:25 ` Johannes Weiner
2013-11-14 3:25 ` Johannes Weiner
[not found] ` <20131114032508.GL707-druUgvl0LCNAfugRpC6u6w@public.gmane.org>
2013-11-14 22:57 ` David Rientjes
2013-11-14 22:57 ` David Rientjes
2013-11-14 22:57 ` David Rientjes
2013-11-14 23:26 ` [patch 1/2] mm, memcg: avoid oom notification when current needs access to memory reserves David Rientjes
2013-11-14 23:26 ` David Rientjes
2013-11-14 23:26 ` [patch 2/2] mm, memcg: add memory.oom_control notification for system oom David Rientjes
2013-11-14 23:26 ` David Rientjes
2013-11-18 18:52 ` Michal Hocko
2013-11-18 18:52 ` Michal Hocko
[not found] ` <20131118185213.GA12923-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2013-11-19 1:25 ` David Rientjes
2013-11-19 1:25 ` David Rientjes
2013-11-19 1:25 ` David Rientjes
[not found] ` <alpine.DEB.2.02.1311181722380.4292-X6Q0R45D7oAcqpCFd4KODRPsWskHk0ljAL8bYrjMMd8@public.gmane.org>
2013-11-19 12:41 ` Michal Hocko
2013-11-19 12:41 ` Michal Hocko
2013-11-19 12:41 ` Michal Hocko
[not found] ` <alpine.DEB.2.02.1311141525440.30112-X6Q0R45D7oAcqpCFd4KODRPsWskHk0ljAL8bYrjMMd8@public.gmane.org>
2013-11-18 12:52 ` [patch 1/2] mm, memcg: avoid oom notification when current needs access to memory reserves Michal Hocko
2013-11-18 12:52 ` Michal Hocko
2013-11-18 12:52 ` Michal Hocko
[not found] ` <20131118125240.GC32623-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2013-11-18 12:55 ` Michal Hocko
2013-11-18 12:55 ` Michal Hocko
2013-11-18 12:55 ` Michal Hocko
2013-11-19 1:19 ` David Rientjes
2013-11-19 1:19 ` David Rientjes
2013-11-18 15:41 ` Johannes Weiner
2013-11-18 15:41 ` Johannes Weiner
2013-11-18 15:41 ` Johannes Weiner
[not found] ` <20131118154115.GA3556-druUgvl0LCNAfugRpC6u6w@public.gmane.org>
2013-11-18 16:51 ` Michal Hocko
2013-11-18 16:51 ` Michal Hocko
2013-11-18 16:51 ` Michal Hocko
2013-11-19 1:22 ` David Rientjes
2013-11-19 1:22 ` David Rientjes
[not found] ` <20131118165110.GE32623-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2013-11-22 16:51 ` Johannes Weiner
2013-11-22 16:51 ` Johannes Weiner
2013-11-22 16:51 ` Johannes Weiner
[not found] ` <20131122165100.GN3556-druUgvl0LCNAfugRpC6u6w@public.gmane.org>
2013-11-27 0:53 ` David Rientjes
2013-11-27 0:53 ` David Rientjes
2013-11-27 0:53 ` David Rientjes
[not found] ` <alpine.DEB.2.02.1311261648570.21003-X6Q0R45D7oAcqpCFd4KODRPsWskHk0ljAL8bYrjMMd8@public.gmane.org>
2013-11-27 16:34 ` Johannes Weiner
2013-11-27 16:34 ` Johannes Weiner
2013-11-27 16:34 ` Johannes Weiner
[not found] ` <20131127163435.GA3556-druUgvl0LCNAfugRpC6u6w@public.gmane.org>
2013-11-27 21:51 ` David Rientjes
2013-11-27 21:51 ` David Rientjes
2013-11-27 21:51 ` David Rientjes
2013-11-27 23:19 ` Johannes Weiner
2013-11-27 23:19 ` Johannes Weiner
2013-11-28 0:22 ` David Rientjes
2013-11-28 0:22 ` David Rientjes
2013-11-28 2:28 ` Johannes Weiner [this message]
2013-11-28 2:28 ` Johannes Weiner
[not found] ` <20131128022804.GJ3556-druUgvl0LCNAfugRpC6u6w@public.gmane.org>
2013-11-28 2:52 ` David Rientjes
2013-11-28 2:52 ` David Rientjes
2013-11-28 2:52 ` David Rientjes
[not found] ` <alpine.DEB.2.02.1311271839290.5120-X6Q0R45D7oAcqpCFd4KODRPsWskHk0ljAL8bYrjMMd8@public.gmane.org>
2013-11-28 3:16 ` Johannes Weiner
2013-11-28 3:16 ` Johannes Weiner
2013-11-28 3:16 ` Johannes Weiner
2013-12-02 20:02 ` Michal Hocko
2013-12-02 20:02 ` Michal Hocko
[not found] ` <20131202200221.GC5524-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2013-12-02 21:25 ` Johannes Weiner
2013-12-02 21:25 ` Johannes Weiner
2013-12-02 21:25 ` Johannes Weiner
2013-12-03 12:04 ` Michal Hocko
2013-12-03 12:04 ` Michal Hocko
[not found] ` <20131203120454.GA12758-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2013-12-03 20:17 ` Johannes Weiner
2013-12-03 20:17 ` Johannes Weiner
2013-12-03 20:17 ` Johannes Weiner
2013-12-03 21:00 ` Michal Hocko
2013-12-03 21:00 ` Michal Hocko
2013-12-03 21:23 ` Johannes Weiner
2013-12-03 21:23 ` Johannes Weiner
2013-12-03 23:50 ` David Rientjes
2013-12-03 23:50 ` David Rientjes
2013-12-04 3:34 ` Johannes Weiner
2013-12-04 3:34 ` Johannes Weiner
[not found] ` <alpine.DEB.2.02.1312031544530.5946-X6Q0R45D7oAcqpCFd4KODRPsWskHk0ljAL8bYrjMMd8@public.gmane.org>
2013-12-04 11:13 ` Michal Hocko
2013-12-04 11:13 ` Michal Hocko
2013-12-04 11:13 ` Michal Hocko
2013-12-05 0:23 ` David Rientjes
2013-12-05 0:23 ` David Rientjes
[not found] ` <alpine.DEB.2.02.1312041606260.6329-X6Q0R45D7oAcqpCFd4KODRPsWskHk0ljAL8bYrjMMd8@public.gmane.org>
2013-12-09 12:48 ` Michal Hocko
2013-12-09 12:48 ` Michal Hocko
2013-12-09 12:48 ` Michal Hocko
2013-12-09 21:46 ` David Rientjes
2013-12-09 21:46 ` David Rientjes
2013-12-09 23:05 ` Johannes Weiner
2013-12-09 23:05 ` Johannes Weiner
2014-01-10 0:34 ` David Rientjes
2014-01-10 0:34 ` David Rientjes
[not found] ` <alpine.DEB.2.02.1312091328550.11026-X6Q0R45D7oAcqpCFd4KODRPsWskHk0ljAL8bYrjMMd8@public.gmane.org>
2013-12-09 22:51 ` Johannes Weiner
2013-12-09 22:51 ` Johannes Weiner
2013-12-09 22:51 ` Johannes Weiner
2013-12-10 10:38 ` Michal Hocko
2013-12-10 10:38 ` Michal Hocko
2013-12-10 10:38 ` Michal Hocko
[not found] ` <20131210103827.GB20242-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2013-12-11 1:03 ` David Rientjes
2013-12-11 1:03 ` David Rientjes
2013-12-11 1:03 ` David Rientjes
2013-12-11 9:55 ` Michal Hocko
2013-12-11 9:55 ` Michal Hocko
2013-12-11 22:40 ` David Rientjes
2013-12-11 22:40 ` David Rientjes
2013-12-12 10:31 ` Michal Hocko
2013-12-12 10:31 ` Michal Hocko
2013-12-12 10:50 ` Michal Hocko
2013-12-12 10:50 ` Michal Hocko
2013-12-12 10:50 ` Michal Hocko
2013-12-12 12:11 ` Michal Hocko
2013-12-12 12:11 ` Michal Hocko
2013-12-12 12:11 ` Michal Hocko
2013-12-12 12:37 ` Michal Hocko
2013-12-12 12:37 ` Michal Hocko
2013-12-13 23:55 ` David Rientjes
2013-12-13 23:55 ` David Rientjes
2013-12-17 16:23 ` Michal Hocko
2013-12-17 16:23 ` Michal Hocko
2013-12-17 20:50 ` David Rientjes
2013-12-17 20:50 ` David Rientjes
[not found] ` <alpine.DEB.2.02.1312171240541.21640-X6Q0R45D7oAcqpCFd4KODRPsWskHk0ljAL8bYrjMMd8@public.gmane.org>
2013-12-18 20:04 ` Michal Hocko
2013-12-18 20:04 ` Michal Hocko
2013-12-18 20:04 ` Michal Hocko
2013-12-19 6:09 ` David Rientjes
2013-12-19 6:09 ` David Rientjes
2013-12-19 14:41 ` Michal Hocko
2013-12-19 14:41 ` Michal Hocko
[not found] ` <20131219144134.GH10855-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2014-01-08 0:25 ` Andrew Morton
2014-01-08 0:25 ` Andrew Morton
2014-01-08 0:25 ` Andrew Morton
[not found] ` <20140107162503.f751e880410f61a109cdcc2b-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
2014-01-08 10:33 ` Michal Hocko
2014-01-08 10:33 ` Michal Hocko
2014-01-08 10:33 ` Michal Hocko
2014-01-09 14:30 ` [PATCH] memcg: Do not hang on OOM when killed by userspace OOM " Michal Hocko
2014-01-09 14:30 ` Michal Hocko
2014-01-09 14:30 ` Michal Hocko
2014-01-09 21:40 ` David Rientjes
2014-01-09 21:40 ` David Rientjes
2014-01-10 8:23 ` Michal Hocko
2014-01-10 8:23 ` Michal Hocko
2014-01-10 21:33 ` David Rientjes
2014-01-10 21:33 ` David Rientjes
2014-01-15 14:26 ` Michal Hocko
2014-01-15 14:26 ` Michal Hocko
2014-01-15 21:19 ` David Rientjes
2014-01-15 21:19 ` David Rientjes
[not found] ` <alpine.DEB.2.02.1401151304430.10727-X6Q0R45D7oAcqpCFd4KODRPsWskHk0ljAL8bYrjMMd8@public.gmane.org>
2014-01-16 10:12 ` Michal Hocko
2014-01-16 10:12 ` Michal Hocko
2014-01-16 10:12 ` Michal Hocko
2014-01-21 6:13 ` David Rientjes
2014-01-21 6:13 ` David Rientjes
[not found] ` <alpine.DEB.2.02.1401202158411.21729-X6Q0R45D7oAcqpCFd4KODRPsWskHk0ljAL8bYrjMMd8@public.gmane.org>
2014-01-21 13:21 ` Michal Hocko
2014-01-21 13:21 ` Michal Hocko
2014-01-21 13:21 ` Michal Hocko
2014-01-09 21:34 ` [patch 1/2] mm, memcg: avoid oom notification when current needs " David Rientjes
2014-01-09 21:34 ` David Rientjes
[not found] ` <alpine.DEB.2.02.1401091324120.31538-X6Q0R45D7oAcqpCFd4KODRPsWskHk0ljAL8bYrjMMd8@public.gmane.org>
2014-01-09 22:47 ` Andrew Morton
2014-01-09 22:47 ` Andrew Morton
2014-01-09 22:47 ` Andrew Morton
2014-01-10 0:01 ` David Rientjes
2014-01-10 0:01 ` David Rientjes
2014-01-10 0:12 ` Andrew Morton
2014-01-10 0:12 ` Andrew Morton
2014-01-10 0:12 ` Andrew Morton
2014-01-10 0:23 ` David Rientjes
2014-01-10 0:23 ` David Rientjes
2014-01-10 0:35 ` David Rientjes
2014-01-10 0:35 ` David Rientjes
[not found] ` <alpine.DEB.2.02.1401091613560.22649-X6Q0R45D7oAcqpCFd4KODRPsWskHk0ljAL8bYrjMMd8@public.gmane.org>
2014-01-10 22:14 ` Johannes Weiner
2014-01-10 22:14 ` Johannes Weiner
2014-01-10 22:14 ` Johannes Weiner
2014-01-12 22:10 ` David Rientjes
2014-01-12 22:10 ` David Rientjes
2014-01-15 14:34 ` Michal Hocko
2014-01-15 14:34 ` Michal Hocko
2014-01-15 21:23 ` David Rientjes
2014-01-15 21:23 ` David Rientjes
[not found] ` <alpine.DEB.2.02.1401151319580.10727-X6Q0R45D7oAcqpCFd4KODRPsWskHk0ljAL8bYrjMMd8@public.gmane.org>
2014-01-16 9:32 ` Michal Hocko
2014-01-16 9:32 ` Michal Hocko
2014-01-16 9:32 ` Michal Hocko
2014-01-21 5:58 ` David Rientjes
2014-01-21 5:58 ` David Rientjes
[not found] ` <alpine.DEB.2.02.1401202155410.21729-X6Q0R45D7oAcqpCFd4KODRPsWskHk0ljAL8bYrjMMd8@public.gmane.org>
2014-01-21 6:04 ` Greg Kroah-Hartmann
2014-01-21 6:04 ` Greg Kroah-Hartmann
2014-01-21 6:04 ` Greg Kroah-Hartmann
[not found] ` <20140121060428.GA19037-U8xfFu+wG4EAvxtiuMwx3w@public.gmane.org>
2014-01-21 6:08 ` David Rientjes
2014-01-21 6:08 ` David Rientjes
2014-01-21 6:08 ` David Rientjes
2014-01-10 8:30 ` Michal Hocko
2014-01-10 8:30 ` Michal Hocko
2014-01-10 21:38 ` David Rientjes
2014-01-10 21:38 ` David Rientjes
2014-01-10 22:34 ` Johannes Weiner
2014-01-10 22:34 ` Johannes Weiner
2014-01-12 22:14 ` David Rientjes
2014-01-12 22:14 ` David Rientjes
[not found] ` <alpine.DEB.2.02.1311141447160.21413-X6Q0R45D7oAcqpCFd4KODRPsWskHk0ljAL8bYrjMMd8@public.gmane.org>
2013-11-18 15:54 ` [patch] mm, memcg: add memory.oom_control notification for system oom Johannes Weiner
2013-11-18 15:54 ` Johannes Weiner
2013-11-18 15:54 ` Johannes Weiner
2013-11-18 23:15 ` One Thousand Gnomes
2013-11-18 23:15 ` One Thousand Gnomes
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=20131128022804.GJ3556@cmpxchg.org \
--to=hannes@cmpxchg.org \
--cc=akpm@linux-foundation.org \
--cc=cgroups@vger.kernel.org \
--cc=kamezawa.hiroyu@jp.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mhocko@suse.cz \
--cc=rientjes@google.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.