From: Vlastimil Babka <vbabka@suse.cz>
To: linux-mm@kvack.org
Cc: Johannes Weiner <hannes@cmpxchg.org>,
Mel Gorman <mgorman@techsingularity.net>,
Joonsoo Kim <iamjoonsoo.kim@lge.com>,
David Rientjes <rientjes@google.com>,
Vlastimil Babka <vbabka@suse.cz>
Subject: [UNTESTED RFC PATCH 0/8] compaction scanners rework
Date: Wed, 13 Dec 2017 09:59:07 +0100 [thread overview]
Message-ID: <20171213085915.9278-1-vbabka@suse.cz> (raw)
Hi,
I have been working on this in the past weeks, but probably won't have time to
finish and test properly this year. So here's an UNTESTED RFC for those brave
enough to test, and also for review comments. I've been focusing on 1-7, and
patch 8 is unchanged since the last posting, so Mel's suggestions (wrt
fallbacks and scanning pageblock where we get the free page from) from are not
included yet.
For context, please see the recent threads [1] [2]. The main goal is to
eliminate the reported huge free scanner activity by replacing the scanner with
allocation from free lists. This has some dangers of excessive migrations as
described in Patch 8 commit log, so the earlier patches try to eliminate most
of them by making the migration scanner decide to actually migrate pages only
if it looks like it can succeed. This should be benefical even in the current
scheme.
[1] https://lkml.kernel.org/r/20171122143321.29501-1-hannes@cmpxchg.org
[2] https://lkml.kernel.org/r/0168732b-d53f-a1b8-6623-4e4e26b85c5d@suse.cz
Vlastimil Babka (8):
mm, compaction: don't mark pageblocks unsuitable when not fully
scanned
mm, compaction: skip_on_failure only for MIGRATE_MOVABLE allocations
mm, compaction: pass valid_page to isolate_migratepages_block
mm, compaction: skip on isolation failure also in sync compaction
mm, compaction: factor out checking if page can be isolated for
migration
mm, compaction: prescan before isolating in skip_on_failure mode
mm, compaction: prescan all MIGRATE_MOVABLE pageblocks
mm, compaction: replace free scanner with direct freelist allocation
include/linux/vm_event_item.h | 2 +
mm/compaction.c | 311 ++++++++++++++++++++++++++++++++----------
mm/internal.h | 3 +
mm/page_alloc.c | 71 ++++++++++
mm/vmstat.c | 3 +
5 files changed, 316 insertions(+), 74 deletions(-)
--
2.15.1
--
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>
next reply other threads:[~2017-12-13 9:00 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-12-13 8:59 Vlastimil Babka [this message]
2017-12-13 8:59 ` [RFC PATCH 1/8] mm, compaction: don't mark pageblocks unsuitable when not fully scanned Vlastimil Babka
2017-12-13 8:59 ` [RFC PATCH 2/8] mm, compaction: skip_on_failure only for MIGRATE_MOVABLE allocations Vlastimil Babka
2017-12-13 8:59 ` [RFC PATCH 3/8] mm, compaction: pass valid_page to isolate_migratepages_block Vlastimil Babka
2017-12-13 8:59 ` [RFC PATCH 4/8] mm, compaction: skip on isolation failure also in sync compaction Vlastimil Babka
2017-12-13 8:59 ` [RFC PATCH 5/8] mm, compaction: factor out checking if page can be isolated for migration Vlastimil Babka
2017-12-13 8:59 ` [RFC PATCH 6/8] mm, compaction: prescan before isolating in skip_on_failure mode Vlastimil Babka
2017-12-13 8:59 ` [RFC PATCH 7/8] mm, compaction: prescan all MIGRATE_MOVABLE pageblocks Vlastimil Babka
2017-12-13 8:59 ` [RFC PATCH 8/8] mm, compaction: replace free scanner with direct freelist allocation Vlastimil Babka
2018-01-23 20:05 ` [UNTESTED RFC PATCH 0/8] compaction scanners rework Johannes Weiner
2018-03-01 10:22 ` Vlastimil Babka
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=20171213085915.9278-1-vbabka@suse.cz \
--to=vbabka@suse.cz \
--cc=hannes@cmpxchg.org \
--cc=iamjoonsoo.kim@lge.com \
--cc=linux-mm@kvack.org \
--cc=mgorman@techsingularity.net \
--cc=rientjes@google.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox