From: Andrea Arcangeli <aarcange@redhat.com>
To: Mel Gorman <mel@csn.ul.ie>
Cc: akpm@linux-foundation.org, Ury Stankevich <urykhy@gmail.com>,
KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
linux-kernel@vger.kernel.org, linux-mm@kvack.org,
stable@kernel.org
Subject: Re: [PATCH] mm: compaction: Abort compaction if too many pages are isolated and caller is asynchronous
Date: Mon, 30 May 2011 16:31:09 +0200 [thread overview]
Message-ID: <20110530143109.GH19505@random.random> (raw)
In-Reply-To: <20110530131300.GQ5044@csn.ul.ie>
Hi Mel and everyone,
On Mon, May 30, 2011 at 02:13:00PM +0100, Mel Gorman wrote:
> Asynchronous compaction is used when promoting to huge pages. This is
> all very nice but if there are a number of processes in compacting
> memory, a large number of pages can be isolated. An "asynchronous"
> process can stall for long periods of time as a result with a user
> reporting that firefox can stall for 10s of seconds. This patch aborts
> asynchronous compaction if too many pages are isolated as it's better to
> fail a hugepage promotion than stall a process.
>
> If accepted, this should also be considered for 2.6.39-stable. It should
> also be considered for 2.6.38-stable but ideally [11bc82d6: mm:
> compaction: Use async migration for __GFP_NO_KSWAPD and enforce no
> writeback] would be applied to 2.6.38 before consideration.
Is this supposed to fix the stall with khugepaged in D state and other
processes in D state?
zoneinfo showed a nr_isolated_file = -1, I don't think that meant
compaction had 4g pages isolated really considering it moves from
-1,0, 1. So I'm unsure if this fix could be right if the problem is
the hang with khugepaged in D state reported, so far that looked more
like a bug with PREEMPT in the vmstat accounting of nr_isolated_file
that trips in too_many_isolated of both vmscan.c and compaction.c with
PREEMPT=y. Or are you fixing a different problem?
Or how do you explain this -1 value out of nr_isolated_file? Clearly
when that value goes to -1, compaction.c:too_many_isolated will hang,
I think we should fix the -1 value before worrying about the rest...
grep nr_isolated_file zoneinfo-khugepaged
nr_isolated_file 1
nr_isolated_file 4294967295
nr_isolated_file 0
nr_isolated_file 1
nr_isolated_file 4294967295
nr_isolated_file 0
nr_isolated_file 1
nr_isolated_file 4294967295
nr_isolated_file 0
nr_isolated_file 1
nr_isolated_file 4294967295
nr_isolated_file 0
nr_isolated_file 1
nr_isolated_file 4294967295
nr_isolated_file 0
nr_isolated_file 1
nr_isolated_file 4294967295
nr_isolated_file 0
nr_isolated_file 1
nr_isolated_file 4294967295
nr_isolated_file 0
nr_isolated_file 1
nr_isolated_file 4294967295
nr_isolated_file 0
nr_isolated_file 1
nr_isolated_file 4294967295
nr_isolated_file 0
nr_isolated_file 1
nr_isolated_file 4294967295
nr_isolated_file 0
WARNING: multiple messages have this Message-ID (diff)
From: Andrea Arcangeli <aarcange@redhat.com>
To: Mel Gorman <mel@csn.ul.ie>
Cc: akpm@linux-foundation.org, Ury Stankevich <urykhy@gmail.com>,
KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
linux-kernel@vger.kernel.org, linux-mm@kvack.org,
stable@kernel.org
Subject: Re: [PATCH] mm: compaction: Abort compaction if too many pages are isolated and caller is asynchronous
Date: Mon, 30 May 2011 16:31:09 +0200 [thread overview]
Message-ID: <20110530143109.GH19505@random.random> (raw)
In-Reply-To: <20110530131300.GQ5044@csn.ul.ie>
Hi Mel and everyone,
On Mon, May 30, 2011 at 02:13:00PM +0100, Mel Gorman wrote:
> Asynchronous compaction is used when promoting to huge pages. This is
> all very nice but if there are a number of processes in compacting
> memory, a large number of pages can be isolated. An "asynchronous"
> process can stall for long periods of time as a result with a user
> reporting that firefox can stall for 10s of seconds. This patch aborts
> asynchronous compaction if too many pages are isolated as it's better to
> fail a hugepage promotion than stall a process.
>
> If accepted, this should also be considered for 2.6.39-stable. It should
> also be considered for 2.6.38-stable but ideally [11bc82d6: mm:
> compaction: Use async migration for __GFP_NO_KSWAPD and enforce no
> writeback] would be applied to 2.6.38 before consideration.
Is this supposed to fix the stall with khugepaged in D state and other
processes in D state?
zoneinfo showed a nr_isolated_file = -1, I don't think that meant
compaction had 4g pages isolated really considering it moves from
-1,0, 1. So I'm unsure if this fix could be right if the problem is
the hang with khugepaged in D state reported, so far that looked more
like a bug with PREEMPT in the vmstat accounting of nr_isolated_file
that trips in too_many_isolated of both vmscan.c and compaction.c with
PREEMPT=y. Or are you fixing a different problem?
Or how do you explain this -1 value out of nr_isolated_file? Clearly
when that value goes to -1, compaction.c:too_many_isolated will hang,
I think we should fix the -1 value before worrying about the rest...
grep nr_isolated_file zoneinfo-khugepaged
nr_isolated_file 1
nr_isolated_file 4294967295
nr_isolated_file 0
nr_isolated_file 1
nr_isolated_file 4294967295
nr_isolated_file 0
nr_isolated_file 1
nr_isolated_file 4294967295
nr_isolated_file 0
nr_isolated_file 1
nr_isolated_file 4294967295
nr_isolated_file 0
nr_isolated_file 1
nr_isolated_file 4294967295
nr_isolated_file 0
nr_isolated_file 1
nr_isolated_file 4294967295
nr_isolated_file 0
nr_isolated_file 1
nr_isolated_file 4294967295
nr_isolated_file 0
nr_isolated_file 1
nr_isolated_file 4294967295
nr_isolated_file 0
nr_isolated_file 1
nr_isolated_file 4294967295
nr_isolated_file 0
nr_isolated_file 1
nr_isolated_file 4294967295
nr_isolated_file 0
--
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>
next prev parent reply other threads:[~2011-05-30 14:31 UTC|newest]
Thread overview: 126+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-30 13:13 [PATCH] mm: compaction: Abort compaction if too many pages are isolated and caller is asynchronous Mel Gorman
2011-05-30 13:13 ` Mel Gorman
2011-05-30 14:31 ` Andrea Arcangeli [this message]
2011-05-30 14:31 ` Andrea Arcangeli
2011-05-30 15:37 ` Mel Gorman
2011-05-30 15:37 ` Mel Gorman
2011-05-30 16:55 ` Mel Gorman
2011-05-30 16:55 ` Mel Gorman
2011-05-30 17:53 ` Andrea Arcangeli
2011-05-30 17:53 ` Andrea Arcangeli
2011-05-31 12:16 ` Minchan Kim
2011-05-31 12:16 ` Minchan Kim
2011-05-31 12:24 ` Andrea Arcangeli
2011-05-31 12:24 ` Andrea Arcangeli
2011-05-31 13:33 ` Minchan Kim
2011-05-31 13:33 ` Minchan Kim
2011-05-31 14:14 ` Andrea Arcangeli
2011-05-31 14:14 ` Andrea Arcangeli
2011-05-31 14:37 ` Minchan Kim
2011-05-31 14:37 ` Minchan Kim
2011-05-31 14:38 ` Minchan Kim
2011-05-31 14:38 ` Minchan Kim
2011-06-02 18:23 ` Andrea Arcangeli
2011-06-02 18:23 ` Andrea Arcangeli
2011-06-02 20:21 ` Minchan Kim
2011-06-02 20:21 ` Minchan Kim
2011-06-02 20:59 ` Minchan Kim
2011-06-02 20:59 ` Minchan Kim
2011-06-02 22:03 ` Andrea Arcangeli
2011-06-02 22:03 ` Andrea Arcangeli
2011-06-02 21:40 ` Andrea Arcangeli
2011-06-02 21:40 ` Andrea Arcangeli
2011-06-02 22:23 ` Minchan Kim
2011-06-02 22:23 ` Minchan Kim
2011-06-02 22:32 ` Andrea Arcangeli
2011-06-02 22:32 ` Andrea Arcangeli
2011-06-02 23:01 ` Minchan Kim
2011-06-02 23:01 ` Minchan Kim
2011-06-03 17:37 ` Andrea Arcangeli
2011-06-03 17:37 ` Andrea Arcangeli
2011-06-03 18:07 ` Andrea Arcangeli
2011-06-03 18:07 ` Andrea Arcangeli
2011-06-04 7:59 ` Minchan Kim
2011-06-04 7:59 ` Minchan Kim
2011-06-06 10:32 ` Mel Gorman
2011-06-06 10:32 ` Mel Gorman
2011-06-06 12:49 ` Andrea Arcangeli
2011-06-06 12:49 ` Andrea Arcangeli
2011-06-06 14:47 ` Mel Gorman
2011-06-06 14:47 ` Mel Gorman
2011-06-06 14:07 ` Minchan Kim
2011-06-06 14:07 ` Minchan Kim
2011-06-06 10:15 ` Mel Gorman
2011-06-06 10:15 ` Mel Gorman
2011-06-06 10:26 ` Mel Gorman
2011-06-06 10:26 ` Mel Gorman
2011-06-06 14:01 ` Minchan Kim
2011-06-06 14:01 ` Minchan Kim
2011-06-06 14:26 ` Minchan Kim
2011-06-06 14:26 ` Minchan Kim
2011-06-02 23:02 ` Minchan Kim
2011-06-02 23:02 ` Minchan Kim
2011-06-01 0:57 ` Mel Gorman
2011-06-01 0:57 ` Mel Gorman
2011-06-01 9:24 ` Mel Gorman
2011-06-01 9:24 ` Mel Gorman
2011-06-01 17:58 ` Mel Gorman
2011-06-01 17:58 ` Mel Gorman
2011-06-01 19:15 ` Andrea Arcangeli
2011-06-01 19:15 ` Andrea Arcangeli
2011-06-01 21:40 ` Mel Gorman
2011-06-01 21:40 ` Mel Gorman
2011-06-01 23:30 ` Andrea Arcangeli
2011-06-01 23:30 ` Andrea Arcangeli
2011-06-02 1:03 ` Mel Gorman
2011-06-02 1:03 ` Mel Gorman
2011-06-02 8:34 ` Minchan Kim
2011-06-02 8:34 ` Minchan Kim
2011-06-02 13:29 ` Andrea Arcangeli
2011-06-02 13:29 ` Andrea Arcangeli
2011-06-02 14:50 ` Mel Gorman
2011-06-02 14:50 ` Mel Gorman
2011-06-02 15:37 ` Andrea Arcangeli
2011-06-02 15:37 ` Andrea Arcangeli
2011-06-03 2:09 ` Mel Gorman
2011-06-03 2:09 ` Mel Gorman
2011-06-03 14:49 ` Mel Gorman
2011-06-03 14:49 ` Mel Gorman
2011-06-03 15:45 ` Andrea Arcangeli
2011-06-03 15:45 ` Andrea Arcangeli
2011-06-04 7:25 ` Minchan Kim
2011-06-04 7:25 ` Minchan Kim
2011-06-06 10:39 ` Mel Gorman
2011-06-06 10:39 ` Mel Gorman
2011-06-06 12:38 ` Andrea Arcangeli
2011-06-06 12:38 ` Andrea Arcangeli
2011-06-06 14:55 ` Mel Gorman
2011-06-06 14:55 ` Mel Gorman
2011-06-06 14:19 ` Minchan Kim
2011-06-06 14:19 ` Minchan Kim
2011-06-06 22:32 ` Andrew Morton
2011-06-06 22:32 ` Andrew Morton
2011-06-04 6:58 ` Minchan Kim
2011-06-04 6:58 ` Minchan Kim
2011-06-06 10:43 ` Mel Gorman
2011-06-06 10:43 ` Mel Gorman
2011-06-06 12:40 ` Andrea Arcangeli
2011-06-06 12:40 ` Andrea Arcangeli
2011-06-06 13:27 ` Minchan Kim
2011-06-06 13:27 ` Minchan Kim
2011-06-06 13:23 ` Minchan Kim
2011-06-06 13:23 ` Minchan Kim
2011-05-31 14:34 ` Mel Gorman
2011-05-31 14:34 ` Mel Gorman
2011-05-30 14:45 ` [stable] " Greg KH
2011-05-30 14:45 ` Greg KH
2011-05-30 16:14 ` Minchan Kim
2011-05-30 16:14 ` Minchan Kim
2011-05-31 8:32 ` Mel Gorman
2011-05-31 8:32 ` Mel Gorman
2011-05-31 4:48 ` KAMEZAWA Hiroyuki
2011-05-31 4:48 ` KAMEZAWA Hiroyuki
2011-05-31 5:38 ` Minchan Kim
2011-05-31 5:38 ` Minchan Kim
2011-05-31 7:14 ` KOSAKI Motohiro
2011-05-31 7:14 ` KOSAKI Motohiro
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=20110530143109.GH19505@random.random \
--to=aarcange@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=kosaki.motohiro@jp.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mel@csn.ul.ie \
--cc=stable@kernel.org \
--cc=urykhy@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 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.