[PATCH 0/5] Further compaction tuning

From: Vlastimil Babka
Date: Tue Oct 07 2014 - 11:34:42 EST


Based on next-20141007. Patch 5 needs "mm: introduce single zone pcplists
drain" from https://lkml.org/lkml/2014/10/2/375

OK, time to reset the "days without a compaction series" counter back to 0.
This series is mostly what was postponed in the previous one (but sadly not
all of it), along with some smaller changes.

Patch 1 tries to solve the mismatch in watermark checking by compaction and
allocations by adding the missing pieces to compact_control. This mainly
allows simplifying deferred allocation handling by Patch 2. Change in Patch 2
was suggested by Joonsoo reviewing the previous series, but was not possible
without Patch 1. Patch 3 is a rather cosmetic change to deferred compaction.

Patch 4 removes probably the last occurence of compaction scanners rescanning
some pages when being restarted in the middle of the zone.

Patch 5 is a posthumous child of patch "mm, compaction: try to capture the
just-created high-order freepage" which was removed from the previous series.
Thanks to Joonsoo's objections we could find out that the improvements of the
capture patch was mainly due to better lru_add cache and pcplists draining.
The remaining delta wrt success rates between this patch and page capture was
due to different (questionable) watermark checking in the capture mechanism.
So this patch brings most of the improvements without the questionable parts
and complexity that capture had.

Vlastimil Babka (5):
mm, compaction: pass classzone_idx and alloc_flags to watermark
checking
mm, compaction: simplify deferred compaction
mm, compaction: defer only on COMPACT_COMPLETE
mm, compaction: always update cached scanner positions
mm, compaction: more focused lru and pcplists draining

include/linux/compaction.h | 10 +++---
mm/compaction.c | 89 +++++++++++++++++++++++++++++-----------------
mm/internal.h | 7 ++--
mm/page_alloc.c | 15 +-------
mm/vmscan.c | 12 +++----
5 files changed, 71 insertions(+), 62 deletions(-)

--
1.8.4.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/