All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/5] oom reaper v5
@ 2016-02-03 13:13 ` Michal Hocko
  0 siblings, 0 replies; 112+ messages in thread
From: Michal Hocko @ 2016-02-03 13:13 UTC (permalink / raw)
  To: Andrew Morton
  Cc: David Rientjes, Mel Gorman, Tetsuo Handa, Oleg Nesterov,
	Linus Torvalds, Hugh Dickins, Andrea Argangeli, Rik van Riel,
	linux-mm, LKML

Hi,
I am reposting the whole patchset on top of mmotm with the previous
version of the patchset reverted for an easier review. The series
applies cleanly on top of the current Linus tree as well.

The previous version was posted http://lkml.kernel.org/r/1452094975-551-1-git-send-email-mhocko@kernel.org
I have tried to address most of the feedback. There was some push
for extending the current implementation further but I do not feel
comfortable to do that right now. I believe that we should start
as easy as possible and add extensions on top. That shouldn't be
hard with the current architecture.

Wrt. the previous version, I have added patches 4 and 5. Patch4 reports
success/failures to reap a task which is useful to see how the reaper
operates. Patch 5 is implementing a more robust API between the oom
killer and the oom reaper. We allow more tasks to be queued for the
reaper at the same time rather than the original signle task mode.

Patch 1 also dropped oom_reaper thread priority handling as per
David.  I ended up keeping vma filtering code inside __oom_reap_task.
I still believe this is a better fit because the rules are a single
fit for the reaper. They cannot be shared with a larger code base.

In the meantime I have prepared down_write_killable rw_semaphore
variant http://lkml.kernel.org/r/1454444369-2146-1-git-send-email-mhocko@kernel.org
and also have a tentative patch to convert some users of mmap_sem for
write to use the killable version. This needs more checking though but
I guess I will have something ready in 2 weeks or so (I will be on
vacation next week).

For the general description of the oom_reaper functionality, please
refer to Patch1.

I would be really greatful if we could postpone any
functional/semantical enhancements for later discussion and focus on the
correctness of these particular patches as there were no fundamental
objectios to the current approach.

Thanks!

^ permalink raw reply	[flat|nested] 112+ messages in thread

end of thread, other threads:[~2016-03-17 15:20 UTC | newest]

Thread overview: 112+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-02-03 13:13 [PATCH 0/5] oom reaper v5 Michal Hocko
2016-02-03 13:13 ` Michal Hocko
2016-02-03 13:13 ` [PATCH 1/5] mm, oom: introduce oom reaper Michal Hocko
2016-02-03 13:13   ` Michal Hocko
2016-02-03 23:48   ` David Rientjes
2016-02-03 23:48     ` David Rientjes
2016-02-04  6:41     ` Michal Hocko
2016-02-04  6:41       ` Michal Hocko
2016-02-06 13:22   ` Tetsuo Handa
2016-02-06 13:22     ` Tetsuo Handa
2016-02-15 20:50     ` Michal Hocko
2016-02-15 20:50       ` Michal Hocko
2016-02-03 13:13 ` [PATCH 2/5] oom reaper: handle mlocked pages Michal Hocko
2016-02-03 13:13   ` Michal Hocko
2016-02-03 23:57   ` David Rientjes
2016-02-03 23:57     ` David Rientjes
2016-02-23  1:36   ` David Rientjes
2016-02-23  1:36     ` David Rientjes
2016-02-23 13:21     ` Michal Hocko
2016-02-23 13:21       ` Michal Hocko
2016-02-29  3:19       ` Hugh Dickins
2016-02-29  3:19         ` Hugh Dickins
2016-02-29 13:41         ` Michal Hocko
2016-02-29 13:41           ` Michal Hocko
2016-03-08 13:40           ` Michal Hocko
2016-03-08 13:40             ` Michal Hocko
2016-03-08 20:07             ` Hugh Dickins
2016-03-08 20:07               ` Hugh Dickins
2016-03-09  8:26               ` Michal Hocko
2016-03-09  8:26                 ` Michal Hocko
2016-02-03 13:13 ` [PATCH 3/5] oom: clear TIF_MEMDIE after oom_reaper managed to unmap the address space Michal Hocko
2016-02-03 13:13   ` Michal Hocko
2016-02-04 14:22   ` Tetsuo Handa
2016-02-04 14:22     ` Tetsuo Handa
2016-02-04 14:43     ` Michal Hocko
2016-02-04 14:43       ` Michal Hocko
2016-02-04 15:08       ` Tetsuo Handa
2016-02-04 15:08         ` Tetsuo Handa
2016-02-04 16:31         ` Michal Hocko
2016-02-04 16:31           ` Michal Hocko
2016-02-05 11:14           ` Tetsuo Handa
2016-02-05 11:14             ` Tetsuo Handa
2016-02-06  8:30             ` Michal Hocko
2016-02-06  8:30               ` Michal Hocko
2016-02-06 11:23               ` Tetsuo Handa
2016-02-06 11:23                 ` Tetsuo Handa
2016-02-15 20:47                 ` Michal Hocko
2016-02-15 20:47                   ` Michal Hocko
2016-02-06  6:45       ` Michal Hocko
2016-02-06  6:45         ` Michal Hocko
2016-02-06 14:33         ` Tetsuo Handa
2016-02-06 14:33           ` Tetsuo Handa
2016-02-15 20:40           ` [PATCH 3.1/5] oom: make oom_reaper freezable Michal Hocko
2016-02-15 20:40             ` Michal Hocko
2016-02-25 11:28   ` [PATCH 3/5] oom: clear TIF_MEMDIE after oom_reaper managed to unmap the address space Tetsuo Handa
2016-02-25 11:31     ` Tetsuo Handa
2016-02-25 14:16     ` Michal Hocko
2016-02-03 13:13 ` [PATCH 4/5] mm, oom_reaper: report success/failure Michal Hocko
2016-02-03 13:13   ` Michal Hocko
2016-02-03 23:10   ` David Rientjes
2016-02-03 23:10     ` David Rientjes
2016-02-04  6:46     ` Michal Hocko
2016-02-04  6:46       ` Michal Hocko
2016-02-04 22:31       ` David Rientjes
2016-02-04 22:31         ` David Rientjes
2016-02-05  9:26         ` Michal Hocko
2016-02-05  9:26           ` Michal Hocko
2016-02-06  6:34           ` Michal Hocko
2016-02-06  6:34             ` Michal Hocko
2016-02-03 13:14 ` [PATCH 5/5] mm, oom_reaper: implement OOM victims queuing Michal Hocko
2016-02-03 13:14   ` Michal Hocko
2016-02-04 10:49   ` Tetsuo Handa
2016-02-04 10:49     ` Tetsuo Handa
2016-02-04 14:53     ` Michal Hocko
2016-02-04 14:53       ` Michal Hocko
2016-02-06  5:54       ` Tetsuo Handa
2016-02-06  5:54         ` Tetsuo Handa
2016-02-06  8:37         ` Michal Hocko
2016-02-06  8:37           ` Michal Hocko
2016-02-06 15:33           ` Tetsuo Handa
2016-02-06 15:33             ` Tetsuo Handa
2016-02-15 20:15             ` Michal Hocko
2016-02-15 20:15               ` Michal Hocko
2016-02-16 11:11               ` Tetsuo Handa
2016-02-16 11:11                 ` Tetsuo Handa
2016-02-16 15:53                 ` Michal Hocko
2016-02-16 15:53                   ` Michal Hocko
2016-02-17  9:48   ` [PATCH 6/5] oom, oom_reaper: disable oom_reaper for Michal Hocko
2016-02-17  9:48     ` Michal Hocko
2016-02-17 10:41     ` Tetsuo Handa
2016-02-17 10:41       ` Tetsuo Handa
2016-02-17 11:33       ` Michal Hocko
2016-02-17 11:33         ` Michal Hocko
2016-02-19 18:34     ` Michal Hocko
2016-02-19 18:34       ` Michal Hocko
2016-02-20  2:32       ` [PATCH 6/5] oom, oom_reaper: disable oom_reaper for oom_kill_allocating_task Tetsuo Handa
2016-02-20  2:32         ` Tetsuo Handa
2016-02-22  9:41         ` Michal Hocko
2016-02-22  9:41           ` Michal Hocko
2016-02-29  1:26           ` Tetsuo Handa
2016-03-15 11:15           ` Tetsuo Handa
2016-03-15 11:43             ` Michal Hocko
2016-03-15 11:50               ` Michal Hocko
2016-03-16 11:16                 ` Tetsuo Handa
2016-03-17 10:49                   ` Tetsuo Handa
2016-03-17 12:17                     ` Michal Hocko
2016-03-17 13:00                       ` Tetsuo Handa
2016-03-17 13:23                         ` Michal Hocko
2016-03-17 14:34                           ` Tetsuo Handa
2016-03-17 14:54                             ` Michal Hocko
2016-03-17 15:20                               ` Tetsuo Handa
2016-03-17 12:14                   ` Michal Hocko

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.