Thanks for having this separately. I agree with David that this is _safer_ to route in the same series with the oom reaper but I guess the risk to have it separare is quite low if measurable at all. On Tue 12-01-16 13:25:20, Andrew Morton wrote: [...] > From: Johannes Weiner <hannes@xxxxxxxxxxx> > Subject: mm/oom_kill.c: don't skip PF_EXITING tasks when searching for a victim > > When the OOM killer scans tasks and encounters a PF_EXITING one, it > force-selects that one regardless of the score. Is there a possibility > that the task might hang after it has set PF_EXITING? In that case the > OOM killer should be able to move on to the next task. > > Frankly, I don't even know why we check for exiting tasks in the OOM > killer. We've tried direct reclaim at least 15 times by the time we > decide the system is OOM, there was plenty of time to exit and free > memory; and a task might exit voluntarily right after we issue a kill. > This is testing pure noise. > > Signed-off-by: Johannes Weiner <hannes@xxxxxxxxxxx> > Cc: Tetsuo Handa <penguin-kernel@xxxxxxxxxxxxxxxxxxx> > Cc: Michal Hocko <mhocko@xxxxxxxx> > Cc: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx> > Cc: Mel Gorman <mgorman@xxxxxxx> > Cc: David Rientjes <rientjes@xxxxxxxxxx> > Cc: Oleg Nesterov <oleg@xxxxxxxxxx> > Cc: Hugh Dickins <hughd@xxxxxxxxxx> > Cc: Andrea Argangeli <andrea@xxxxxxxxxx> > Cc: Rik van Riel <riel@xxxxxxxxxx> > Cc: Sasha Levin <sasha.levin@xxxxxxxxxx> > Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Acked-by: Michal Hocko <mhocko@xxxxxxxx> > --- > > mm/oom_kill.c | 3 --- > 1 file changed, 3 deletions(-) > > diff -puN mm/oom_kill.c~mm-oom_killc-dont-skip-pf_exiting-tasks-when-searching-for-a-victim mm/oom_kill.c > --- a/mm/oom_kill.c~mm-oom_killc-dont-skip-pf_exiting-tasks-when-searching-for-a-victim > +++ a/mm/oom_kill.c > @@ -292,9 +292,6 @@ enum oom_scan_t oom_scan_process_thread( > if (oom_task_origin(task)) > return OOM_SCAN_SELECT; > > - if (task_will_free_mem(task) && !is_sysrq_oom(oc)) > - return OOM_SCAN_ABORT; > - > return OOM_SCAN_OK; > } > > _ > > Patches currently in -mm which might be from hannes@xxxxxxxxxxx are > > mm-page_alloc-generalize-the-dirty-balance-reserve.patch > proc-meminfo-estimate-available-memory-more-conservatively.patch > mm-memcontrol-export-root_mem_cgroup.patch > net-tcp_memcontrol-properly-detect-ancestor-socket-pressure.patch > net-tcp_memcontrol-remove-bogus-hierarchy-pressure-propagation.patch > net-tcp_memcontrol-protect-all-tcp_memcontrol-calls-by-jump-label.patch > net-tcp_memcontrol-remove-dead-per-memcg-count-of-allocated-sockets.patch > net-tcp_memcontrol-simplify-the-per-memcg-limit-access.patch > net-tcp_memcontrol-sanitize-tcp-memory-accounting-callbacks.patch > net-tcp_memcontrol-simplify-linkage-between-socket-and-page-counter.patch > net-tcp_memcontrol-simplify-linkage-between-socket-and-page-counter-fix.patch > mm-memcontrol-generalize-the-socket-accounting-jump-label.patch > mm-memcontrol-do-not-account-memoryswap-on-unified-hierarchy.patch > mm-memcontrol-move-socket-code-for-unified-hierarchy-accounting.patch > mm-memcontrol-account-socket-memory-in-unified-hierarchy-memory-controller.patch > mm-memcontrol-hook-up-vmpressure-to-socket-pressure.patch > mm-memcontrol-switch-to-the-updated-jump-label-api.patch > mm-oom_killc-dont-skip-pf_exiting-tasks-when-searching-for-a-victim.patch > mm-memcontrol-drop-unused-css-argument-in-memcg_init_kmem.patch > mm-memcontrol-remove-double-kmem-page_counter-init.patch > mm-memcontrol-give-the-kmem-states-more-descriptive-names.patch > mm-memcontrol-group-kmem-init-and-exit-functions-together.patch > mm-memcontrol-separate-kmem-code-from-legacy-tcp-accounting-code.patch > mm-memcontrol-move-kmem-accounting-code-to-config_memcg.patch > mm-memcontrol-move-kmem-accounting-code-to-config_memcg-v2.patch > mm-memcontrol-move-kmem-accounting-code-to-config_memcg-fix.patch > mm-memcontrol-account-kmem-consumers-in-cgroup2-memory-controller.patch > mm-memcontrol-introduce-config_memcg_legacy_kmem.patch > mm-memcontrol-reign-in-the-config-space-madness.patch > mm-memcontrol-flatten-struct-cg_proto.patch > mm-memcontrol-clean-up-alloc-online-offline-free-functions.patch > mm-memcontrol-clean-up-alloc-online-offline-free-functions-fix.patch > -- Michal Hocko SUSE Labs -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>