From: Nitin Gupta <nigupta@nvidia.com>
To: "dan.j.williams@intel.com" <dan.j.williams@intel.com>,
"mhocko@suse.com" <mhocko@suse.com>,
"mgorman@techsingularity.net" <mgorman@techsingularity.net>,
"vbabka@suse.cz" <vbabka@suse.cz>,
"akpm@linux-foundation.org" <akpm@linux-foundation.org>
Cc: "cai@lca.pw" <cai@lca.pw>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-mm@kvack.org" <linux-mm@kvack.org>,
"gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>,
"aryabinin@virtuozzo.com" <aryabinin@virtuozzo.com>,
"jannh@google.com" <jannh@google.com>,
"guro@fb.com" <guro@fb.com>,
"hannes@cmpxchg.org" <hannes@cmpxchg.org>,
"keescook@chromium.org" <keescook@chromium.org>,
"yuzhao@google.com" <yuzhao@google.com>,
"arunks@codeaurora.org" <arunks@codeaurora.org>,
"willy@infradead.org" <willy@infradead.org>,
"khalid.aziz@oracle.com" <khalid.aziz@oracle.com>,
"janne.huttunen@nokia.com" <janne.huttunen@nokia.com>,
"khlebnikov@yandex-team.ru" <khlebnikov@yandex-team.ru>
Subject: Re: [RFC] mm: Proactive compaction
Date: Thu, 19 Sep 2019 23:37:34 +0000 [thread overview]
Message-ID: <7bbd5322ed7a7fcb349c83952f8fc17448cd07d8.camel@nvidia.com> (raw)
In-Reply-To: <87634ddc-8bfd-8311-46c4-35f7dc32d42f@suse.cz>
On Tue, 2019-08-20 at 10:46 +0200, Vlastimil Babka wrote:
> > This patch is largely based on ideas from Michal Hocko posted here:
> > https://lore.kernel.org/linux-mm/20161230131412.GI13301@dhcp22.suse.cz/
> >
> > Testing done (on x86):
> > - Set /sys/kernel/mm/compaction/order-9/extfrag_{low,high} = {25, 30}
> > respectively.
> > - Use a test program to fragment memory: the program allocates all
> > memory
> > and then for each 2M aligned section, frees 3/4 of base pages using
> > munmap.
> > - kcompactd0 detects fragmentation for order-9 > extfrag_high and starts
> > compaction till extfrag < extfrag_low for order-9.
> >
> > The patch has plenty of rough edges but posting it early to see if I'm
> > going in the right direction and to get some early feedback.
>
> That's a lot of control knobs - how is an admin supposed to tune them to
> their
> needs?
Yes, it's difficult for an admin to get so many tunable right unless
targeting a very specific workload.
How about a simpler solution where we exposed just one tunable per-node:
/sys/.../node-x/compaction_effort
which accepts [0, 100]
This parallels /proc/sys/vm/swappiness but for compaction. With this
single number, we can estimate per-order [low, high] watermarks for external
fragmentation like this:
- For now, map this range to [low, medium, high] which correponds to specific
low, high thresholds for extfrag.
- Apply more relaxed thresholds for higher-order than for lower orders.
With this single tunable we remove the burden of setting per-order explicit
[low, high] thresholds and it should be easier to experiment with.
-Nitin
next prev parent reply other threads:[~2019-09-19 23:37 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-16 21:43 [RFC] mm: Proactive compaction Nitin Gupta
2019-08-20 8:46 ` Vlastimil Babka
2019-08-20 21:35 ` Nitin Gupta
2019-08-24 7:24 ` Khalid Aziz
2019-09-19 23:37 ` Nitin Gupta [this message]
2019-09-24 13:39 ` Vlastimil Babka
2019-09-24 14:11 ` Khalid Aziz
2019-08-20 22:20 ` Matthew Wilcox
2019-08-21 23:23 ` Nitin Gupta
2019-08-22 8:51 ` Mel Gorman
2019-08-22 21:57 ` Nitin Gupta
2019-08-26 11:47 ` Mel Gorman
2019-08-27 20:36 ` Nitin Gupta
2019-09-19 23:22 ` Nitin Gupta
2019-09-16 20:16 ` David Rientjes
2019-09-16 20:50 ` Nitin Gupta
2019-09-17 19:46 ` John Hubbard
2019-09-17 20:26 ` David Rientjes
2019-11-22 22:31 ` Nitin Gupta
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=7bbd5322ed7a7fcb349c83952f8fc17448cd07d8.camel@nvidia.com \
--to=nigupta@nvidia.com \
--cc=akpm@linux-foundation.org \
--cc=arunks@codeaurora.org \
--cc=aryabinin@virtuozzo.com \
--cc=cai@lca.pw \
--cc=dan.j.williams@intel.com \
--cc=gregkh@linuxfoundation.org \
--cc=guro@fb.com \
--cc=hannes@cmpxchg.org \
--cc=janne.huttunen@nokia.com \
--cc=jannh@google.com \
--cc=keescook@chromium.org \
--cc=khalid.aziz@oracle.com \
--cc=khlebnikov@yandex-team.ru \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mgorman@techsingularity.net \
--cc=mhocko@suse.com \
--cc=vbabka@suse.cz \
--cc=willy@infradead.org \
--cc=yuzhao@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;
as well as URLs for NNTP newsgroup(s).