From: Peter Ujfalusi <peter.ujfalusi@ti.com>
To: Mel Gorman <mgorman@suse.de>
Cc: Minchan Kim <minchan@kernel.org>,
Andrew Morton <akpm@linux-foundation.org>,
Thierry Reding <thierry.reding@avionic-design.de>,
Marek Szyprowski <m.szyprowski@samsung.com>,
Michal Nazarewicz <mina86@mina86.com>,
linux-kernel@vger.kernel.org, linux-mm@kvack.org,
Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>,
Kyungmin Park <kyungmin.park@samsung.com>,
Mark Brown <broonie@opensource.wolfsonmicro.com>
Subject: Re: CMA broken in next-20120926
Date: Fri, 28 Sep 2012 11:48:25 +0300 [thread overview]
Message-ID: <50656459.70309@ti.com> (raw)
In-Reply-To: <20120928083722.GM3429@suse.de>
Hi,
On 09/28/2012 11:37 AM, Mel Gorman wrote:
>> I hope this patch fixes the bug. If this patch fixes the problem
>> but has some problem about description or someone has better idea,
>> feel free to modify and resend to akpm, Please.
>>
>
> A full revert is overkill. Can the following patch be tested as a
> potential replacement please?
>
> ---8<---
> mm: compaction: Iron out isolate_freepages_block() and isolate_freepages_range() -fix1
>
> CMA is reported to be broken in next-20120926. Minchan Kim pointed out
> that this was due to nr_scanned != total_isolated in the case of CMA
> because PageBuddy pages are one scan but many isolations in CMA. This
> patch should address the problem.
>
> This patch is a fix for
> mm-compaction-acquire-the-zone-lock-as-late-as-possible-fix-2.patch
>
> Signed-off-by: Mel Gorman <mgorman@suse.de>
linux-next + this patch alone also works for me.
Tested-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
> ---
> mm/compaction.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/mm/compaction.c b/mm/compaction.c
> index 8250b69..d6e260a 100644
> --- a/mm/compaction.c
> +++ b/mm/compaction.c
> @@ -282,6 +282,7 @@ static unsigned long isolate_freepages_block(struct compact_control *cc,
> {
> int nr_scanned = 0, total_isolated = 0;
> struct page *cursor, *valid_page = NULL;
> + unsigned long nr_strict_required = end_pfn - blockpfn;
> unsigned long flags;
> bool locked = false;
>
> @@ -343,10 +344,10 @@ static unsigned long isolate_freepages_block(struct compact_control *cc,
>
> /*
> * If strict isolation is requested by CMA then check that all the
> - * pages scanned were isolated. If there were any failures, 0 is
> + * pages requested were isolated. If there were any failures, 0 is
> * returned and CMA will fail.
> */
> - if (strict && nr_scanned != total_isolated)
> + if (strict && nr_strict_required != total_isolated)
> total_isolated = 0;
>
> if (locked)
>
--
Peter
--
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>
WARNING: multiple messages have this Message-ID (diff)
From: Peter Ujfalusi <peter.ujfalusi@ti.com>
To: Mel Gorman <mgorman@suse.de>
Cc: Minchan Kim <minchan@kernel.org>,
Andrew Morton <akpm@linux-foundation.org>,
Thierry Reding <thierry.reding@avionic-design.de>,
Marek Szyprowski <m.szyprowski@samsung.com>,
Michal Nazarewicz <mina86@mina86.com>,
linux-kernel@vger.kernel.org, linux-mm@kvack.org,
Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>,
Kyungmin Park <kyungmin.park@samsung.com>,
Mark Brown <broonie@opensource.wolfsonmicro.com>
Subject: Re: CMA broken in next-20120926
Date: Fri, 28 Sep 2012 11:48:25 +0300 [thread overview]
Message-ID: <50656459.70309@ti.com> (raw)
In-Reply-To: <20120928083722.GM3429@suse.de>
Hi,
On 09/28/2012 11:37 AM, Mel Gorman wrote:
>> I hope this patch fixes the bug. If this patch fixes the problem
>> but has some problem about description or someone has better idea,
>> feel free to modify and resend to akpm, Please.
>>
>
> A full revert is overkill. Can the following patch be tested as a
> potential replacement please?
>
> ---8<---
> mm: compaction: Iron out isolate_freepages_block() and isolate_freepages_range() -fix1
>
> CMA is reported to be broken in next-20120926. Minchan Kim pointed out
> that this was due to nr_scanned != total_isolated in the case of CMA
> because PageBuddy pages are one scan but many isolations in CMA. This
> patch should address the problem.
>
> This patch is a fix for
> mm-compaction-acquire-the-zone-lock-as-late-as-possible-fix-2.patch
>
> Signed-off-by: Mel Gorman <mgorman@suse.de>
linux-next + this patch alone also works for me.
Tested-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
> ---
> mm/compaction.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/mm/compaction.c b/mm/compaction.c
> index 8250b69..d6e260a 100644
> --- a/mm/compaction.c
> +++ b/mm/compaction.c
> @@ -282,6 +282,7 @@ static unsigned long isolate_freepages_block(struct compact_control *cc,
> {
> int nr_scanned = 0, total_isolated = 0;
> struct page *cursor, *valid_page = NULL;
> + unsigned long nr_strict_required = end_pfn - blockpfn;
> unsigned long flags;
> bool locked = false;
>
> @@ -343,10 +344,10 @@ static unsigned long isolate_freepages_block(struct compact_control *cc,
>
> /*
> * If strict isolation is requested by CMA then check that all the
> - * pages scanned were isolated. If there were any failures, 0 is
> + * pages requested were isolated. If there were any failures, 0 is
> * returned and CMA will fail.
> */
> - if (strict && nr_scanned != total_isolated)
> + if (strict && nr_strict_required != total_isolated)
> total_isolated = 0;
>
> if (locked)
>
--
Péter
next prev parent reply other threads:[~2012-09-28 8:47 UTC|newest]
Thread overview: 61+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-09-27 11:29 CMA broken in next-20120926 Thierry Reding
2012-09-27 15:59 ` Marek Szyprowski
2012-09-27 17:49 ` Mark Brown
2012-09-27 22:11 ` Andrew Morton
2012-09-27 22:11 ` Andrew Morton
2012-09-28 5:43 ` Minchan Kim
2012-09-28 5:43 ` Minchan Kim
2012-09-28 6:10 ` Thierry Reding
2012-09-28 7:44 ` Peter Ujfalusi
2012-09-28 7:44 ` Peter Ujfalusi
2012-09-28 7:56 ` Mel Gorman
2012-09-28 7:56 ` Mel Gorman
2012-09-28 8:09 ` Mel Gorman
2012-09-28 8:09 ` Mel Gorman
2012-09-28 8:37 ` Mel Gorman
2012-09-28 8:37 ` Mel Gorman
2012-09-28 8:48 ` Peter Ujfalusi [this message]
2012-09-28 8:48 ` Peter Ujfalusi
2012-09-28 10:27 ` Mel Gorman
2012-09-28 10:27 ` Mel Gorman
2012-09-28 10:32 ` Thierry Reding
2012-09-28 10:38 ` Thierry Reding
2012-09-28 10:51 ` Thierry Reding
2012-09-28 11:07 ` Mel Gorman
2012-09-28 11:07 ` Mel Gorman
2012-09-28 11:39 ` Thierry Reding
2012-09-28 12:43 ` Mel Gorman
2012-09-28 12:43 ` Mel Gorman
2012-10-01 14:24 ` Thierry Reding
2012-10-02 12:48 ` Thierry Reding
2012-10-02 14:41 ` Mel Gorman
2012-10-02 14:41 ` Mel Gorman
2012-10-02 15:03 ` Thierry Reding
2012-10-02 15:12 ` Mel Gorman
2012-10-02 15:12 ` Mel Gorman
2012-10-08 8:06 ` Minchan Kim
2012-10-08 8:06 ` Minchan Kim
2012-10-08 8:48 ` Mel Gorman
2012-10-08 8:48 ` Mel Gorman
2012-10-09 8:40 ` Bartlomiej Zolnierkiewicz
2012-10-09 8:40 ` Bartlomiej Zolnierkiewicz
2012-10-09 10:11 ` Mel Gorman
2012-10-09 10:11 ` Mel Gorman
2012-10-09 11:02 ` Thierry Reding
2012-10-09 11:08 ` Bartlomiej Zolnierkiewicz
2012-10-09 11:08 ` Bartlomiej Zolnierkiewicz
2012-10-09 11:32 ` Mel Gorman
2012-10-09 11:32 ` Mel Gorman
2012-10-09 11:38 ` Thierry Reding
2012-09-28 10:52 ` Mel Gorman
2012-09-28 10:52 ` Mel Gorman
2012-10-04 14:00 ` [PATCH] mm: compaction: Iron out isolate_freepages_block() and isolate_freepages_range() -fix1 Mel Gorman
2012-10-04 14:00 ` Mel Gorman
2012-10-05 9:59 ` [PATCH] mm: compaction: Iron out isolate_freepages_block() and isolate_freepages_range() -fix2 Mel Gorman
2012-10-05 9:59 ` Mel Gorman
2012-10-08 6:50 ` Minchan Kim
2012-10-08 6:50 ` Minchan Kim
2012-10-08 6:53 ` [PATCH] mm: compaction: Iron out isolate_freepages_block() and isolate_freepages_range() -fix1 Minchan Kim
2012-10-08 6:53 ` Minchan Kim
2012-10-04 14:03 ` [PATCH] mm: compaction: Cache if a pageblock was scanned and no pages were isolated -fix3 Mel Gorman
2012-10-04 14:03 ` Mel Gorman
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=50656459.70309@ti.com \
--to=peter.ujfalusi@ti.com \
--cc=akpm@linux-foundation.org \
--cc=b.zolnierkie@samsung.com \
--cc=broonie@opensource.wolfsonmicro.com \
--cc=kyungmin.park@samsung.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=m.szyprowski@samsung.com \
--cc=mgorman@suse.de \
--cc=mina86@mina86.com \
--cc=minchan@kernel.org \
--cc=thierry.reding@avionic-design.de \
/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.