From: Mel Gorman <mgorman@suse.de>
To: Huang Shijie <b32955@freescale.com>
Cc: akpm@linux-foundation.org, linux-mm@kvack.org, shijie8@gmail.com
Subject: Re: [PATCH v2] mm/compaction : fix the wrong return value for isolate_migratepages()
Date: Thu, 5 Jan 2012 10:50:44 +0000 [thread overview]
Message-ID: <20120105105044.GE28031@suse.de> (raw)
In-Reply-To: <4F057BF2.5040206@freescale.com>
On Thu, Jan 05, 2012 at 06:31:14PM +0800, Huang Shijie wrote:
> >Why?
> >
> >
> >Returning ISOLATE_SUCCESS means that we fall through. This means busy
> >work in migrate_pages(), updating list accounting and the list. It's
> >wasteful but is it functionally incorrect? What problem did you observe?
>
> there may are many times the cc->migratepages is zero, but the
> return value is ISOLATE_SUCCESS.
>
Ok, this is a reasonable assertion. How often will depend on a large
number of factors.
> >If this is simply a performance issue then minimally COMPACTBLOCKS
>
> yes, My concern is the performance.
>
For future reference, please explain this in the changelog.
> the comment of ISOLATE_NONE makes me confused. :(
>
I see your confusion. The main difference between ISOLATE_NONE and
ISOLATE_SUCCESS is that scanning within the pageblock took place even
if no pages were isolated by the scan. Maybe it would be easier if
your patch clarified the meaning of the return values. Something like;
typedef enum {
ISOLATE_ABORT, /* Abort compaction now */
ISOLATE_NONE, /* No pages scanned, consider next pageblock */
ISOLATE_SUCCESS, /* Pages scanned and maybe isolated, migrate */
} isolate_migrate_t;
and then check if pages were really isolated on ISOLATE_SUCCESS?
> If you think we should update the COMPACTBLOCK in this case, my
> patch is wrong.
>
I think the overhead is unnecessary and worth fixing but because the
scanning took place, the COMPACTBLOCK counter should be bumped and
the tracepoint triggered.
> >still needs to be updated, we still want to see the tracepoint etc. To
>
> ok.
Thanks.
--
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/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
prev parent reply other threads:[~2012-01-05 10:50 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-12-31 9:09 [PATCH v2] mm/compaction : fix the wrong return value for isolate_migratepages() Huang Shijie
2012-01-05 10:12 ` Mel Gorman
2012-01-05 10:31 ` Huang Shijie
2012-01-05 10:50 ` 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=20120105105044.GE28031@suse.de \
--to=mgorman@suse.de \
--cc=akpm@linux-foundation.org \
--cc=b32955@freescale.com \
--cc=linux-mm@kvack.org \
--cc=shijie8@gmail.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).