All of lore.kernel.org
 help / color / mirror / Atom feed
From: Minchan Kim <minchan.kim@gmail.com>
To: Iram Shahzad <iram.shahzad@jp.fujitsu.com>
Cc: Wu Fengguang <fengguang.wu@intel.com>, Mel Gorman <mel@csn.ul.ie>,
	linux-mm@kvack.org,
	KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Subject: Re: compaction: trying to understand the code
Date: Fri, 20 Aug 2010 01:00:07 +0900	[thread overview]
Message-ID: <20100819160006.GG6805@barrios-desktop> (raw)
In-Reply-To: <565A4EE71DAC4B1A820B2748F56ABF73@rainbow>

On Thu, Aug 19, 2010 at 04:09:38PM +0900, Iram Shahzad wrote:
> >The loop should be waiting for the _other_ processes (doing direct
> >reclaims) to proceed.  When there are _lots of_ ongoing page
> >allocations/reclaims, it makes sense to wait for them to calm down a bit?
> 
> I have noticed that if I run other process, it helps the loop to exit.
> So is this (ie hanging until other process helps) intended behaviour?
> 
> Also, the other process does help the loop to exit, but again it enters
> the loop and the compaction is never finished. That is, the process
> looks like hanging. Is this intended behaviour?
> What will improve this situation?
> 
I don't know why too many pages are isolated.
Could you apply below patch for debugging and report it?

diff --git a/mm/compaction.c b/mm/compaction.c
index 94cce51..17f339f 100644
--- a/mm/compaction.c
+++ b/mm/compaction.c
@@ -215,6 +215,7 @@ static void acct_isolated(struct zone *zone, struct compact_control *cc)
 static bool too_many_isolated(struct zone *zone)
 {
 
+       int overflow = 0;
        unsigned long inactive, isolated;
 
        inactive = zone_page_state(zone, NR_INACTIVE_FILE) +
@@ -222,7 +223,13 @@ static bool too_many_isolated(struct zone *zone)
        isolated = zone_page_state(zone, NR_ISOLATED_FILE) +
                                        zone_page_state(zone, NR_ISOLATED_ANON);
 
-       return isolated > inactive;
+       if (isolated > inactive)
+               overflow = 1;
+
+       if (overflow)
+               show_mem();     
+
+       return overflow;
 }


> Thanks
> Iram
> 
> 
> --
> 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>

-- 
Kind regards,
Minchan Kim

--
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>

  parent reply	other threads:[~2010-08-19 16:00 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-17 11:08 compaction: trying to understand the code Iram Shahzad
2010-08-17 11:10 ` Mel Gorman
2010-08-18  8:19   ` Iram Shahzad
2010-08-18 15:41     ` Wu Fengguang
2010-08-19  7:09       ` Iram Shahzad
2010-08-19  7:45         ` Wu Fengguang
2010-08-19  7:46         ` Mel Gorman
2010-08-19  8:08           ` Wu Fengguang
2010-08-19  8:15             ` Mel Gorman
2010-08-19  8:29               ` Wu Fengguang
2010-08-20  5:45           ` Iram Shahzad
2010-08-20  5:50             ` Wu Fengguang
2010-08-20  6:13               ` Iram Shahzad
2010-08-19 16:00         ` Minchan Kim [this message]
2010-08-20  5:31           ` Iram Shahzad
2010-08-20  5:34             ` Wu Fengguang
2010-08-20  9:35               ` Mel Gorman
2010-08-20 10:22                 ` Minchan Kim
2010-08-22 15:31                   ` Minchan Kim
2010-08-22 23:23                     ` Wu Fengguang
2010-08-23  1:58                       ` Minchan Kim
2010-08-23  3:03                         ` Iram Shahzad
2010-08-23  9:10                           ` Minchan Kim
2010-08-26  8:51                             ` Mel Gorman
2010-08-23  7:18                       ` Mel Gorman
2010-08-23 17:14                       ` Minchan Kim
2010-08-24  0:27                         ` Wu Fengguang
2010-08-24  5:07                           ` Iram Shahzad
2010-08-24  6:52                             ` Minchan Kim
2010-08-26  8:05                               ` Iram Shahzad
2010-08-23  7:16                     ` Mel Gorman
2010-08-23  9:07                       ` Minchan Kim
2010-08-20 10:23                 ` Wu Fengguang

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=20100819160006.GG6805@barrios-desktop \
    --to=minchan.kim@gmail.com \
    --cc=fengguang.wu@intel.com \
    --cc=iram.shahzad@jp.fujitsu.com \
    --cc=kosaki.motohiro@jp.fujitsu.com \
    --cc=linux-mm@kvack.org \
    --cc=mel@csn.ul.ie \
    /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.