From: David Rientjes <rientjes@google.com>
To: Vlastimil Babka <vbabka@suse.cz>
Cc: Vinayak Menon <vinmenon@codeaurora.org>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org,
akpm@linux-foundation.org, mgorman@suse.de, minchan@kernel.org,
iamjoonsoo.kim@lge.com
Subject: Re: [PATCH] mm: compaction: fix the page state calculation in too_many_isolated
Date: Wed, 21 Jan 2015 16:58:20 -0800 (PST) [thread overview]
Message-ID: <alpine.DEB.2.10.1501211656160.28120@chino.kir.corp.google.com> (raw)
In-Reply-To: <54BF78E3.7030303@suse.cz>
On Wed, 21 Jan 2015, Vlastimil Babka wrote:
> On 01/21/2015 10:34 AM, Vinayak Menon wrote:
> > Commit "3611badc1baa" (mm: vmscan: fix the page state calculation in
>
> That appears to be a -next commit ID, which won't be the same in Linus' tree, so
> it shouldn't be in commit message, AFAIK.
>
> > too_many_isolated) fixed an issue where a number of tasks were
> > blocked in reclaim path for seconds, because of vmstat_diff not being
> > synced in time. A similar problem can happen in isolate_migratepages_block,
> > similar calculation is performed. This patch fixes that.
>
> I guess it's not possible to fix the stats instantly and once in the safe
> versions, so that future readings will be correct without safe, right?
> So until it gets fixed, each reading will have to be safe and thus expensive?
>
Yeah, this patch will actually hurt performance for the migration scanner
but not as much as stalling unnecessarily when the snapshot is the same.
> I think in case of async compaction, we could skip the safe stuff and just
> terminate it - it's already done when too_many_isolated returns true, and
> there's no congestion waiting in that case.
>
> So you could extend the too_many_isolated() with "safe" parameter (as you did
> for vmscan) and pass it "cc->mode != MIGRATE_ASYNC" value from
> isolate_migrate_block().
>
Or just pass it struct compact_control *cc and use both cc->zone and
cc->mode inside this compaction-only function.
--
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 prev parent reply other threads:[~2015-01-22 0:58 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-21 9:34 Vinayak Menon
2015-01-21 10:01 ` Vlastimil Babka
2015-01-22 0:58 ` David Rientjes [this message]
2015-01-22 15:38 ` 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=alpine.DEB.2.10.1501211656160.28120@chino.kir.corp.google.com \
--to=rientjes@google.com \
--cc=akpm@linux-foundation.org \
--cc=iamjoonsoo.kim@lge.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mgorman@suse.de \
--cc=minchan@kernel.org \
--cc=vbabka@suse.cz \
--cc=vinmenon@codeaurora.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox