From: Mel Gorman <mgorman@suse.de>
To: Andrea Arcangeli <aarcange@redhat.com>
Cc: linux-mm@kvack.org, Johannes Weiner <jweiner@redhat.com>,
Rik van Riel <riel@redhat.com>, Hugh Dickins <hughd@google.com>,
Richard Davies <richard@arachsys.com>,
Shaohua Li <shli@kernel.org>, Rafael Aquini <aquini@redhat.com>,
Andrew Morton <akpm@linux-foundation.org>,
Hush Bensen <hush.bensen@gmail.com>
Subject: Re: [PATCH 9/9] mm: zone_reclaim: compaction: add compaction to zone_reclaim_mode
Date: Thu, 8 Aug 2013 09:22:57 +0100 [thread overview]
Message-ID: <20130808082257.GY2296@suse.de> (raw)
In-Reply-To: <20130807234800.GG4661@redhat.com>
On Thu, Aug 08, 2013 at 01:48:00AM +0200, Andrea Arcangeli wrote:
> On Wed, Aug 07, 2013 at 05:18:37PM +0100, Mel Gorman wrote:
> > > It is important to boot with numa_zonelist_order=n (n means nodes) to
> > > get more accurate NUMA locality if there are multiple zones per node.
> > >
> >
> > This appears to be an unrelated observation.
>
> But things still don't work ok without it. After alloc_batch changes
> it matters only in the slowpath but it still related.
>
Ok, that's curious in itself but I'm not going to dig into the why.
> > > <SNIP>
> > > @@ -3587,7 +3613,56 @@ int zone_reclaim(struct zone *zone, gfp_t gfp_mask, unsigned int order)
> > > if (node_state(node_id, N_CPU) && node_id != numa_node_id())
> > > return ZONE_RECLAIM_NOSCAN;
> > >
> > > +repeat_compaction:
> > > + /*
> > > + * If this allocation may be satisfied by memory compaction,
> > > + * run compaction before reclaim.
> > > + */
> > > + c_ret = zone_reclaim_compact(preferred_zone,
> > > + zone, gfp_mask, order,
> > > + sync_compaction,
> > > + &need_compaction);
> > > + if (need_compaction &&
> > > + c_ret != COMPACT_SKIPPED &&
> >
> > need_compaction records whether compaction was attempted or not. Why
> > not just check for COMPACT_SKIPPED and have compact_zone_order return
> > COMPACT_SKIPPED if !CONFIG_COMPACTION?
>
> How can it be ok that try_to_compact_pages returns COMPACT_CONTINUE
> but compact_zone order returns the opposite?
Good question and I expect it was because the return value of
try_to_compact_pages was never used in the !CONFIG_COMPACTION case and I
did not think it through properly. try_to_compact_pages has only one caller
in the CONFIG_COMPACTION case and zero callers in the !CONFIG_COMPACTION
making the return value was irrelevant. COMPACT_SKIPPED would still have
been a better choice to indicate "compaction didn't start as it was not
possible or direct reclaim was more suitable"
> I mean either we change both or none.
>
I think both to COMPACT_SKIPPED would be a better fit for the documented
meaning of COMPACT_SKIPPED.
--
Mel Gorman
SUSE Labs
--
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>
prev parent reply other threads:[~2013-08-08 8:23 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-02 16:06 [PATCH 0/9] adding compaction to zone_reclaim_mode v3 Andrea Arcangeli
2013-08-02 16:06 ` [PATCH 1/9] mm: zone_reclaim: remove ZONE_RECLAIM_LOCKED Andrea Arcangeli
2013-08-05 18:30 ` Johannes Weiner
2013-08-07 15:13 ` Mel Gorman
2013-08-02 16:06 ` [PATCH 2/9] mm: zone_reclaim: compaction: scan all memory with /proc/sys/vm/compact_memory Andrea Arcangeli
2013-08-05 18:45 ` Johannes Weiner
2013-08-06 5:50 ` Andrea Arcangeli
2013-08-02 16:06 ` [PATCH 3/9] mm: zone_reclaim: compaction: don't depend on kswapd to invoke reset_isolation_suitable Andrea Arcangeli
2013-08-05 19:32 ` Johannes Weiner
2013-08-02 16:06 ` [PATCH 4/9] mm: zone_reclaim: compaction: reset before initializing the scan cursors Andrea Arcangeli
2013-08-05 19:44 ` Johannes Weiner
2013-08-02 16:06 ` [PATCH 5/9] mm: compaction: don't require high order pages below min wmark Andrea Arcangeli
2013-08-05 18:35 ` Rik van Riel
2013-08-06 13:23 ` Johannes Weiner
2013-08-07 15:42 ` Mel Gorman
2013-08-07 16:14 ` Andrea Arcangeli
2013-08-07 16:47 ` Mel Gorman
2013-08-08 0:59 ` Andrea Arcangeli
2013-08-02 16:06 ` [PATCH 6/9] mm: zone_reclaim: compaction: increase the high order pages in the watermarks Andrea Arcangeli
2013-08-05 18:36 ` Rik van Riel
2013-08-06 16:08 ` Johannes Weiner
2013-08-06 18:52 ` Johannes Weiner
2013-08-07 13:18 ` Andrea Arcangeli
2013-08-07 15:43 ` Mel Gorman
2013-08-02 16:06 ` [PATCH 7/9] mm: zone_reclaim: compaction: export compact_zone_order() Andrea Arcangeli
2013-08-05 18:37 ` Rik van Riel
2013-08-07 15:48 ` Mel Gorman
2013-08-02 16:06 ` [PATCH 8/9] mm: zone_reclaim: after a successful zone_reclaim check the min watermark Andrea Arcangeli
2013-08-05 18:38 ` Rik van Riel
2013-08-07 15:53 ` Mel Gorman
2013-08-02 16:06 ` [PATCH 9/9] mm: zone_reclaim: compaction: add compaction to zone_reclaim_mode Andrea Arcangeli
2013-08-04 16:55 ` Andrea Arcangeli
2013-08-05 18:38 ` Rik van Riel
2013-08-07 16:18 ` Mel Gorman
2013-08-07 23:48 ` Andrea Arcangeli
2013-08-08 8:22 ` Mel Gorman [this message]
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=20130808082257.GY2296@suse.de \
--to=mgorman@suse.de \
--cc=aarcange@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=aquini@redhat.com \
--cc=hughd@google.com \
--cc=hush.bensen@gmail.com \
--cc=jweiner@redhat.com \
--cc=linux-mm@kvack.org \
--cc=richard@arachsys.com \
--cc=riel@redhat.com \
--cc=shli@kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.