[Xenial PATCH 00/11] Fixes OOM for LP #1655842

Thadeu Lima de Souza Cascardo cascardo at canonical.com
Tue Jan 24 16:28:28 UTC 2017


BugLink: https://bugs.launchpad.net/bugs/1655842

When I fixed LP#1647400 by backporting MM commits, I introduced a
regression that causes OOM when memory is too much fragmented. That was
fixed upstream, but required a larger backport.

This has been tested by at least 3 people reporting no more OOMs and no
other regressions so far.

Mel Gorman (1):
  mm, page_alloc: convert alloc_flags to unsigned

Michal Hocko (10):
  mm, compaction: change COMPACT_ constants into enum
  mm, compaction: distinguish COMPACT_DEFERRED from COMPACT_SKIPPED
  mm, compaction: simplify __alloc_pages_direct_compact feedback
    interface
  mm, compaction: distinguish between full and partial COMPACT_COMPLETE
  mm, compaction: abstract compaction feedback to helpers
  mm, oom: protect !costly allocations some more
  mm: consider compaction feedback also for costly allocation
  mm, oom, compaction: prevent from should_compact_retry looping for
    ever for costly orders
  mm, oom: protect !costly allocations some more for !CONFIG_COMPACTION
  mm, oom: prevent premature OOM killer invocation for high order
    request

 include/linux/compaction.h        | 143 +++++++++++++++++++++++----
 include/linux/mmzone.h            |   6 +-
 include/trace/events/compaction.h |   3 +-
 mm/compaction.c                   |  97 +++++++++++++-----
 mm/internal.h                     |   3 +-
 mm/page_alloc.c                   | 202 +++++++++++++++++++++++---------------
 6 files changed, 325 insertions(+), 129 deletions(-)

-- 
2.9.3





More information about the kernel-team mailing list