All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
To: mhocko@kernel.org, hannes@cmpxchg.org, rientjes@google.com
Cc: akpm@linux-foundation.org, torvalds@linux-foundation.org,
	mgorman@suse.de, hillf.zj@alibaba-inc.com,
	kamezawa.hiroyu@jp.fujitsu.com, linux-mm@kvack.org,
	linux-kernel@vger.kernel.org, mhocko@suse.com
Subject: Re: [PATCH 4/3] mm, oom: drop the last allocation attempt before out_of_memory
Date: Fri, 29 Jan 2016 19:39:24 +0900	[thread overview]
Message-ID: <201601291939.FGH00544.MVQOOtOHLFFJFS@I-love.SAKURA.ne.jp> (raw)
In-Reply-To: <20160128235110.GA5805@cmpxchg.org>

Johannes Weiner wrote:
> On Thu, Jan 28, 2016 at 03:19:08PM -0800, David Rientjes wrote:
> > On Thu, 28 Jan 2016, Johannes Weiner wrote:
> >
> > > The check has to happen while holding the OOM lock, otherwise we'll
> > > end up killing much more than necessary when there are many racing
> > > allocations.
> > >
> >
> > Right, we need to try with ALLOC_WMARK_HIGH after oom_lock has been
> > acquired.
> >
> > The situation is still somewhat fragile, however, but I think it's
> > tangential to this patch series.  If the ALLOC_WMARK_HIGH allocation fails
> > because an oom victim hasn't freed its memory yet, and then the TIF_MEMDIE
> > thread isn't visible during the oom killer's tasklist scan because it has
> > exited, we still end up killing more than we should.  The likelihood of
> > this happening grows with the length of the tasklist.
> >
> > Perhaps we should try testing watermarks after a victim has been selected
> > and immediately before killing?  (Aside: we actually carry an internal
> > patch to test mem_cgroup_margin() in the memcg oom path after selecting a
> > victim because we have been hit with this before in the memcg path.)

Yes. Moving final testing to after selecting an OOM victim can reduce the
possibility of killing more OOM victims than we need. But unfortunately, it is
likely that memory becomes available (i.e. get_page_from_freelist() succeeds)
during dump_header() is printing OOM messages using printk(), for printk() is
a slow operation compared to selecting a victim. This happens very much later
counted from the moment the victim cleared TIF_MEMDIE.

We can avoid killing more OOM victims than we need if we move final testing to
after printing OOM messages, but we can't avoid printing OOM messages when we
don't kill a victim. Maybe this is not a problem if we do

  pr_err("But did not kill any process ...")

instead of

  do_send_sig_info(SIGKILL);
  mark_oom_victim();
  pr_err("Killed process %d (%s) ...")

when final testing succeeded.

> >
> > I would think that retrying with ALLOC_WMARK_HIGH would be enough memory
> > to deem that we aren't going to immediately reenter an oom condition so
> > the deferred killing is a waste of time.
> >
> > The downside is how sloppy this would be because it's blurring the line
> > between oom killer and page allocator.  We'd need the oom killer to return
> > the selected victim to the page allocator, try the allocation, and then
> > call oom_kill_process() if necessary.

I assumed that Michal wants to preserve the boundary between the OOM killer
and the page allocator. Therefore, I proposed a patch
( http://lkml.kernel.org/r/201512291559.HGA46749.VFOFSOHLMtFJQO@I-love.SAKURA.ne.jp )
which tries to manage it without returning a victim and without depending on
TIF_MEMDIE or oom_victims.

>
> https://lkml.org/lkml/2015/3/25/40
>
> We could have out_of_memory() wait until the number of outstanding OOM
> victims drops to 0. Then __alloc_pages_may_oom() doesn't relinquish
> the lock until its kill has been finalized:
>
> diff --git a/mm/oom_kill.c b/mm/oom_kill.c
> index 914451a..4dc5b9d 100644
> --- a/mm/oom_kill.c
> +++ b/mm/oom_kill.c
> @@ -892,7 +892,9 @@ bool out_of_memory(struct oom_control *oc)
>  		 * Give the killed process a good chance to exit before trying
>  		 * to allocate memory again.
>  		 */
> -		schedule_timeout_killable(1);
> +		if (!test_thread_flag(TIF_MEMDIE))
> +			wait_event_timeout(oom_victims_wait,
> +					   !atomic_read(&oom_victims), HZ);
>  	}
>  	return true;
>  }
>

oom_victims became 0 does not mean that memory became available (i.e.
get_page_from_freelist() will succeed). I think this patch wants some
effort for trying to reduce possibility of killing more OOM victims
than we need.

WARNING: multiple messages have this Message-ID (diff)
From: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
To: mhocko@kernel.org, hannes@cmpxchg.org, rientjes@google.com
Cc: akpm@linux-foundation.org, torvalds@linux-foundation.org,
	mgorman@suse.de, hillf.zj@alibaba-inc.com,
	kamezawa.hiroyu@jp.fujitsu.com, linux-mm@kvack.org,
	linux-kernel@vger.kernel.org, mhocko@suse.com
Subject: Re: [PATCH 4/3] mm, oom: drop the last allocation attempt before out_of_memory
Date: Fri, 29 Jan 2016 19:39:24 +0900	[thread overview]
Message-ID: <201601291939.FGH00544.MVQOOtOHLFFJFS@I-love.SAKURA.ne.jp> (raw)
In-Reply-To: <20160128235110.GA5805@cmpxchg.org>

Johannes Weiner wrote:
> On Thu, Jan 28, 2016 at 03:19:08PM -0800, David Rientjes wrote:
> > On Thu, 28 Jan 2016, Johannes Weiner wrote:
> >
> > > The check has to happen while holding the OOM lock, otherwise we'll
> > > end up killing much more than necessary when there are many racing
> > > allocations.
> > >
> >
> > Right, we need to try with ALLOC_WMARK_HIGH after oom_lock has been
> > acquired.
> >
> > The situation is still somewhat fragile, however, but I think it's
> > tangential to this patch series.  If the ALLOC_WMARK_HIGH allocation fails
> > because an oom victim hasn't freed its memory yet, and then the TIF_MEMDIE
> > thread isn't visible during the oom killer's tasklist scan because it has
> > exited, we still end up killing more than we should.  The likelihood of
> > this happening grows with the length of the tasklist.
> >
> > Perhaps we should try testing watermarks after a victim has been selected
> > and immediately before killing?  (Aside: we actually carry an internal
> > patch to test mem_cgroup_margin() in the memcg oom path after selecting a
> > victim because we have been hit with this before in the memcg path.)

Yes. Moving final testing to after selecting an OOM victim can reduce the
possibility of killing more OOM victims than we need. But unfortunately, it is
likely that memory becomes available (i.e. get_page_from_freelist() succeeds)
during dump_header() is printing OOM messages using printk(), for printk() is
a slow operation compared to selecting a victim. This happens very much later
counted from the moment the victim cleared TIF_MEMDIE.

We can avoid killing more OOM victims than we need if we move final testing to
after printing OOM messages, but we can't avoid printing OOM messages when we
don't kill a victim. Maybe this is not a problem if we do

  pr_err("But did not kill any process ...")

instead of

  do_send_sig_info(SIGKILL);
  mark_oom_victim();
  pr_err("Killed process %d (%s) ...")

when final testing succeeded.

> >
> > I would think that retrying with ALLOC_WMARK_HIGH would be enough memory
> > to deem that we aren't going to immediately reenter an oom condition so
> > the deferred killing is a waste of time.
> >
> > The downside is how sloppy this would be because it's blurring the line
> > between oom killer and page allocator.  We'd need the oom killer to return
> > the selected victim to the page allocator, try the allocation, and then
> > call oom_kill_process() if necessary.

I assumed that Michal wants to preserve the boundary between the OOM killer
and the page allocator. Therefore, I proposed a patch
( http://lkml.kernel.org/r/201512291559.HGA46749.VFOFSOHLMtFJQO@I-love.SAKURA.ne.jp )
which tries to manage it without returning a victim and without depending on
TIF_MEMDIE or oom_victims.

>
> https://lkml.org/lkml/2015/3/25/40
>
> We could have out_of_memory() wait until the number of outstanding OOM
> victims drops to 0. Then __alloc_pages_may_oom() doesn't relinquish
> the lock until its kill has been finalized:
>
> diff --git a/mm/oom_kill.c b/mm/oom_kill.c
> index 914451a..4dc5b9d 100644
> --- a/mm/oom_kill.c
> +++ b/mm/oom_kill.c
> @@ -892,7 +892,9 @@ bool out_of_memory(struct oom_control *oc)
>  		 * Give the killed process a good chance to exit before trying
>  		 * to allocate memory again.
>  		 */
> -		schedule_timeout_killable(1);
> +		if (!test_thread_flag(TIF_MEMDIE))
> +			wait_event_timeout(oom_victims_wait,
> +					   !atomic_read(&oom_victims), HZ);
>  	}
>  	return true;
>  }
>

oom_victims became 0 does not mean that memory became available (i.e.
get_page_from_freelist() will succeed). I think this patch wants some
effort for trying to reduce possibility of killing more OOM victims
than we need.

--
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>

  reply	other threads:[~2016-01-29 10:39 UTC|newest]

Thread overview: 299+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-15 18:19 [PATCH 0/3] OOM detection rework v4 Michal Hocko
2015-12-15 18:19 ` Michal Hocko
2015-12-15 18:19 ` [PATCH 1/3] mm, oom: rework oom detection Michal Hocko
2015-12-15 18:19   ` Michal Hocko
2016-01-14 22:58   ` David Rientjes
2016-01-14 22:58     ` David Rientjes
2016-01-16  1:07     ` Tetsuo Handa
2016-01-16  1:07       ` Tetsuo Handa
2016-01-19 22:48       ` David Rientjes
2016-01-19 22:48         ` David Rientjes
2016-01-20 11:13         ` Tetsuo Handa
2016-01-20 11:13           ` Tetsuo Handa
2016-01-20 13:13           ` Michal Hocko
2016-01-20 13:13             ` Michal Hocko
2016-04-04  8:23   ` Vladimir Davydov
2016-04-04  8:23     ` Vladimir Davydov
2016-04-04  9:42     ` Michal Hocko
2016-04-04  9:42       ` Michal Hocko
2015-12-15 18:19 ` [PATCH 2/3] mm: throttle on IO only when there are too many dirty and writeback pages Michal Hocko
2015-12-15 18:19   ` Michal Hocko
2016-03-17 11:35   ` Tetsuo Handa
2016-03-17 11:35     ` Tetsuo Handa
2016-03-17 12:01     ` Michal Hocko
2016-03-17 12:01       ` Michal Hocko
2015-12-15 18:19 ` [PATCH 3/3] mm: use watermak checks for __GFP_REPEAT high order allocations Michal Hocko
2015-12-15 18:19   ` Michal Hocko
2015-12-16 23:35 ` [PATCH 0/3] OOM detection rework v4 Andrew Morton
2015-12-16 23:35   ` Andrew Morton
2015-12-18 12:12   ` Michal Hocko
2015-12-18 12:12     ` Michal Hocko
2015-12-16 23:58 ` Andrew Morton
2015-12-16 23:58   ` Andrew Morton
2015-12-18 13:15   ` Michal Hocko
2015-12-18 13:15     ` Michal Hocko
2015-12-18 16:35     ` Johannes Weiner
2015-12-18 16:35       ` Johannes Weiner
2015-12-24 12:41 ` Tetsuo Handa
2015-12-24 12:41   ` Tetsuo Handa
2015-12-28 12:08   ` Tetsuo Handa
2015-12-28 12:08     ` Tetsuo Handa
2015-12-28 14:13     ` Tetsuo Handa
2015-12-28 14:13       ` Tetsuo Handa
2016-01-06 12:44       ` Vlastimil Babka
2016-01-06 12:44         ` Vlastimil Babka
2016-01-08 12:37       ` Michal Hocko
2016-01-08 12:37         ` Michal Hocko
2015-12-29 16:32     ` Michal Hocko
2015-12-29 16:32       ` Michal Hocko
2015-12-30 15:05       ` Tetsuo Handa
2015-12-30 15:05         ` Tetsuo Handa
2016-01-02 15:47         ` Tetsuo Handa
2016-01-02 15:47           ` Tetsuo Handa
2016-01-20 12:24           ` Michal Hocko
2016-01-20 12:24             ` Michal Hocko
2016-01-27 23:18             ` David Rientjes
2016-01-27 23:18               ` David Rientjes
2016-01-28 21:19               ` Michal Hocko
2016-01-28 21:19                 ` Michal Hocko
2015-12-29 16:27   ` Michal Hocko
2015-12-29 16:27     ` Michal Hocko
2016-01-28 20:40 ` [PATCH 4/3] mm, oom: drop the last allocation attempt before out_of_memory Michal Hocko
2016-01-28 20:40   ` Michal Hocko
2016-01-28 21:36   ` Johannes Weiner
2016-01-28 21:36     ` Johannes Weiner
2016-01-28 23:19     ` David Rientjes
2016-01-28 23:19       ` David Rientjes
2016-01-28 23:51       ` Johannes Weiner
2016-01-28 23:51         ` Johannes Weiner
2016-01-29 10:39         ` Tetsuo Handa [this message]
2016-01-29 10:39           ` Tetsuo Handa
2016-01-29 15:32         ` Michal Hocko
2016-01-29 15:32           ` Michal Hocko
2016-01-30 12:18           ` Tetsuo Handa
2016-01-30 12:18             ` Tetsuo Handa
2016-01-29 15:23       ` Michal Hocko
2016-01-29 15:23         ` Michal Hocko
2016-01-29 15:24     ` Michal Hocko
2016-01-29 15:24       ` Michal Hocko
2016-01-28 21:19 ` [PATCH 5/3] mm, vmscan: make zone_reclaimable_pages more precise Michal Hocko
2016-01-28 21:19   ` Michal Hocko
2016-01-28 23:20   ` David Rientjes
2016-01-28 23:20     ` David Rientjes
2016-01-29  3:41   ` Hillf Danton
2016-01-29  3:41     ` Hillf Danton
2016-01-29 10:35   ` Tetsuo Handa
2016-01-29 10:35     ` Tetsuo Handa
2016-01-29 15:17     ` Michal Hocko
2016-01-29 15:17       ` Michal Hocko
2016-01-29 21:30       ` Tetsuo Handa
2016-01-29 21:30         ` Tetsuo Handa
2016-02-03 13:27 ` [PATCH 0/3] OOM detection rework v4 Michal Hocko
2016-02-03 13:27   ` Michal Hocko
2016-02-03 22:58   ` David Rientjes
2016-02-03 22:58     ` David Rientjes
2016-02-04 12:57     ` Michal Hocko
2016-02-04 12:57       ` Michal Hocko
2016-02-04 13:10       ` Tetsuo Handa
2016-02-04 13:10         ` Tetsuo Handa
2016-02-04 13:39         ` Michal Hocko
2016-02-04 13:39           ` Michal Hocko
2016-02-04 14:24           ` Michal Hocko
2016-02-04 14:24             ` Michal Hocko
2016-02-07  4:09           ` Tetsuo Handa
2016-02-07  4:09             ` Tetsuo Handa
2016-02-15 20:06             ` Michal Hocko
2016-02-15 20:06               ` Michal Hocko
2016-02-16 13:10               ` Tetsuo Handa
2016-02-16 13:10                 ` Tetsuo Handa
2016-02-16 15:19                 ` Michal Hocko
2016-02-16 15:19                   ` Michal Hocko
2016-02-25  3:47   ` Hugh Dickins
2016-02-25  3:47     ` Hugh Dickins
2016-02-25  6:48     ` Sergey Senozhatsky
2016-02-25  6:48       ` Sergey Senozhatsky
2016-02-25  9:17       ` Hillf Danton
2016-02-25  9:17         ` Hillf Danton
2016-02-25  9:27         ` Michal Hocko
2016-02-25  9:27           ` Michal Hocko
2016-02-25  9:48           ` Hillf Danton
2016-02-25  9:48             ` Hillf Danton
2016-02-25 11:02             ` Sergey Senozhatsky
2016-02-25 11:02               ` Sergey Senozhatsky
2016-02-25  9:23     ` Michal Hocko
2016-02-25  9:23       ` Michal Hocko
2016-02-26  6:32       ` Hugh Dickins
2016-02-26  6:32         ` Hugh Dickins
2016-02-26  7:54         ` Hillf Danton
2016-02-26  7:54           ` Hillf Danton
2016-02-26  9:24           ` Michal Hocko
2016-02-26  9:24             ` Michal Hocko
2016-02-26 10:27             ` Hillf Danton
2016-02-26 10:27               ` Hillf Danton
2016-02-26 13:49               ` Michal Hocko
2016-02-26 13:49                 ` Michal Hocko
2016-02-26  9:33         ` Michal Hocko
2016-02-26  9:33           ` Michal Hocko
2016-02-29 21:02       ` Michal Hocko
2016-02-29 21:02         ` Michal Hocko
2016-03-02  2:19         ` Joonsoo Kim
2016-03-02  2:19           ` Joonsoo Kim
2016-03-02  9:50           ` Michal Hocko
2016-03-02  9:50             ` Michal Hocko
2016-03-02 13:32             ` Joonsoo Kim
2016-03-02 13:32               ` Joonsoo Kim
2016-03-02 14:06               ` Michal Hocko
2016-03-02 14:06                 ` Michal Hocko
2016-03-02 14:34                 ` Joonsoo Kim
2016-03-02 14:34                   ` Joonsoo Kim
2016-03-03  9:26                   ` Michal Hocko
2016-03-03  9:26                     ` Michal Hocko
2016-03-03 10:29                     ` Tetsuo Handa
2016-03-03 10:29                       ` Tetsuo Handa
2016-03-03 14:10                     ` Joonsoo Kim
2016-03-03 14:10                       ` Joonsoo Kim
2016-03-03 15:25                       ` Michal Hocko
2016-03-03 15:25                         ` Michal Hocko
2016-03-04  5:23                         ` Joonsoo Kim
2016-03-04  5:23                           ` Joonsoo Kim
2016-03-04 15:15                           ` Michal Hocko
2016-03-04 15:15                             ` Michal Hocko
2016-03-04 17:39                             ` Michal Hocko
2016-03-04 17:39                               ` Michal Hocko
2016-03-07  5:23                             ` Joonsoo Kim
2016-03-07  5:23                               ` Joonsoo Kim
2016-03-03 15:50                       ` Vlastimil Babka
2016-03-03 15:50                         ` Vlastimil Babka
2016-03-03 16:26                         ` Michal Hocko
2016-03-03 16:26                           ` Michal Hocko
2016-03-04  7:10                         ` Joonsoo Kim
2016-03-04  7:10                           ` Joonsoo Kim
2016-03-02 15:01             ` Minchan Kim
2016-03-02 15:01               ` Minchan Kim
2016-03-07 16:08         ` [PATCH] mm, oom: protect !costly allocations some more (was: Re: [PATCH 0/3] OOM detection rework v4) Michal Hocko
2016-03-07 16:08           ` Michal Hocko
2016-03-08  3:51           ` Sergey Senozhatsky
2016-03-08  3:51             ` Sergey Senozhatsky
2016-03-08  9:08             ` Michal Hocko
2016-03-08  9:08               ` Michal Hocko
2016-03-08  9:24               ` Sergey Senozhatsky
2016-03-08  9:24                 ` Sergey Senozhatsky
2016-03-08  9:24           ` [PATCH] mm, oom: protect !costly allocations some more Vlastimil Babka
2016-03-08  9:24             ` Vlastimil Babka
2016-03-08  9:32             ` Sergey Senozhatsky
2016-03-08  9:32               ` Sergey Senozhatsky
2016-03-08  9:46             ` Michal Hocko
2016-03-08  9:46               ` Michal Hocko
2016-03-08  9:52               ` Vlastimil Babka
2016-03-08  9:52                 ` Vlastimil Babka
2016-03-08 10:10                 ` Michal Hocko
2016-03-08 10:10                   ` Michal Hocko
2016-03-08 11:12                   ` Vlastimil Babka
2016-03-08 11:12                     ` Vlastimil Babka
2016-03-08 12:22                     ` Michal Hocko
2016-03-08 12:22                       ` Michal Hocko
2016-03-08 12:29                       ` Vlastimil Babka
2016-03-08 12:29                         ` Vlastimil Babka
2016-03-08  9:58           ` [PATCH] mm, oom: protect !costly allocations some more (was: Re: [PATCH 0/3] OOM detection rework v4) Sergey Senozhatsky
2016-03-08  9:58             ` Sergey Senozhatsky
2016-03-08 13:57             ` Michal Hocko
2016-03-08 13:57               ` Michal Hocko
2016-03-08 10:36           ` Hugh Dickins
2016-03-08 13:42           ` [PATCH 0/2] oom rework: high order enahncements Michal Hocko
2016-03-08 13:42             ` Michal Hocko
2016-03-08 13:42             ` [PATCH 1/3] mm, compaction: change COMPACT_ constants into enum Michal Hocko
2016-03-08 13:42               ` Michal Hocko
2016-03-08 14:19               ` Vlastimil Babka
2016-03-08 14:19                 ` Vlastimil Babka
2016-03-09  3:55               ` Hillf Danton
2016-03-09  3:55                 ` Hillf Danton
2016-03-08 13:42             ` [PATCH 2/3] mm, compaction: cover all compaction mode in compact_zone Michal Hocko
2016-03-08 13:42               ` Michal Hocko
2016-03-08 14:22               ` Vlastimil Babka
2016-03-08 14:22                 ` Vlastimil Babka
2016-03-09  3:57               ` Hillf Danton
2016-03-09  3:57                 ` Hillf Danton
2016-03-08 13:42             ` [PATCH 3/3] mm, oom: protect !costly allocations some more Michal Hocko
2016-03-08 13:42               ` Michal Hocko
2016-03-08 14:34               ` Vlastimil Babka
2016-03-08 14:34                 ` Vlastimil Babka
2016-03-08 14:48                 ` Michal Hocko
2016-03-08 14:48                   ` Michal Hocko
2016-03-08 15:03                   ` Vlastimil Babka
2016-03-08 15:03                     ` Vlastimil Babka
2016-03-09 11:11               ` Michal Hocko
2016-03-09 11:11                 ` Michal Hocko
2016-03-09 14:07                 ` Vlastimil Babka
2016-03-09 14:07                   ` Vlastimil Babka
2016-03-11 12:17                 ` Hugh Dickins
2016-03-11 12:17                   ` Hugh Dickins
2016-03-11 13:06                   ` Michal Hocko
2016-03-11 13:06                     ` Michal Hocko
2016-03-11 19:08                     ` Hugh Dickins
2016-03-11 19:08                       ` Hugh Dickins
2016-03-14 16:21                       ` Michal Hocko
2016-03-14 16:21                         ` Michal Hocko
2016-03-08 15:19           ` [PATCH] mm, oom: protect !costly allocations some more (was: Re: [PATCH 0/3] OOM detection rework v4) Joonsoo Kim
2016-03-08 15:19             ` Joonsoo Kim
2016-03-08 16:05             ` Michal Hocko
2016-03-08 16:05               ` Michal Hocko
2016-03-08 17:03               ` Joonsoo Kim
2016-03-08 17:03                 ` Joonsoo Kim
2016-03-09 10:41                 ` Michal Hocko
2016-03-09 10:41                   ` Michal Hocko
2016-03-11 14:53                   ` Joonsoo Kim
2016-03-11 14:53                     ` Joonsoo Kim
2016-03-11 15:20                     ` Michal Hocko
2016-03-11 15:20                       ` Michal Hocko
2016-02-29 20:35     ` [PATCH 0/3] OOM detection rework v4 Michal Hocko
2016-03-01  7:29       ` Hugh Dickins
2016-03-01  7:29         ` Hugh Dickins
2016-03-01 13:38         ` Michal Hocko
2016-03-01 13:38           ` Michal Hocko
2016-03-01 14:40           ` Michal Hocko
2016-03-01 14:40             ` Michal Hocko
2016-03-01 18:14           ` Vlastimil Babka
2016-03-01 18:14             ` Vlastimil Babka
2016-03-02  2:55             ` Joonsoo Kim
2016-03-02  2:55               ` Joonsoo Kim
2016-03-02 12:37               ` Michal Hocko
2016-03-02 12:37                 ` Michal Hocko
2016-03-02 14:06                 ` Joonsoo Kim
2016-03-02 14:06                   ` Joonsoo Kim
2016-03-02 12:24             ` Michal Hocko
2016-03-02 13:00               ` Michal Hocko
2016-03-02 13:22               ` Vlastimil Babka
2016-03-02 13:22                 ` Vlastimil Babka
2016-03-02  2:28           ` Joonsoo Kim
2016-03-02  2:28             ` Joonsoo Kim
2016-03-02 12:39             ` Michal Hocko
2016-03-02 12:39               ` Michal Hocko
2016-03-03  9:54           ` Hugh Dickins
2016-03-03 12:32             ` Michal Hocko
2016-03-03 12:32               ` Michal Hocko
2016-03-03 20:57               ` Hugh Dickins
2016-03-03 20:57                 ` Hugh Dickins
2016-03-04  7:41                 ` Vlastimil Babka
2016-03-04  7:41                   ` Vlastimil Babka
2016-03-04  7:53             ` Joonsoo Kim
2016-03-04  7:53               ` Joonsoo Kim
2016-03-04 12:28             ` Michal Hocko
2016-03-04 12:28               ` Michal Hocko
2016-03-11 10:45 ` Tetsuo Handa
2016-03-11 10:45   ` Tetsuo Handa
2016-03-11 13:08   ` Michal Hocko
2016-03-11 13:08     ` Michal Hocko
2016-03-11 13:32     ` Tetsuo Handa
2016-03-11 13:32       ` Tetsuo Handa
2016-03-11 15:28       ` Michal Hocko
2016-03-11 15:28         ` Michal Hocko
2016-03-11 16:49         ` Tetsuo Handa
2016-03-11 16:49           ` Tetsuo Handa
2016-03-11 17:00           ` Michal Hocko
2016-03-11 17:00             ` Michal Hocko
2016-03-11 17:20             ` Tetsuo Handa
2016-03-11 17:20               ` Tetsuo Handa
2016-03-12  4:08               ` Tetsuo Handa
2016-03-12  4:08                 ` Tetsuo Handa
2016-03-13 14:41                 ` Tetsuo Handa
2016-03-13 14:41                   ` Tetsuo Handa

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=201601291939.FGH00544.MVQOOtOHLFFJFS@I-love.SAKURA.ne.jp \
    --to=penguin-kernel@i-love.sakura.ne.jp \
    --cc=akpm@linux-foundation.org \
    --cc=hannes@cmpxchg.org \
    --cc=hillf.zj@alibaba-inc.com \
    --cc=kamezawa.hiroyu@jp.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mgorman@suse.de \
    --cc=mhocko@kernel.org \
    --cc=mhocko@suse.com \
    --cc=rientjes@google.com \
    --cc=torvalds@linux-foundation.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 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.