All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mel Gorman <mgorman@suse.de>
To: Shaohua Li <shaohua.li@intel.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	linux-mm <linux-mm@kvack.org>,
	lkml <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH]vmscan: fix a livelock in kswapd
Date: Tue, 19 Jul 2011 09:39:32 +0100	[thread overview]
Message-ID: <20110719083932.GD5349@suse.de> (raw)
In-Reply-To: <1311059367.15392.299.camel@sli10-conroe>

On Tue, Jul 19, 2011 at 03:09:27PM +0800, Shaohua Li wrote:
> I'm running a workload which triggers a lot of swap in a machine with 4 nodes.
> After I kill the workload, I found a kswapd livelock. Sometimes kswapd3 or
> kswapd2 are keeping running and I can't access filesystem, but most memory is
> free. This looks like a regression since commit 08951e545918c159.
> Node 2 and 3 have only ZONE_NORMAL, but balance_pgdat() will return 0 for
> classzone_idx. The reason is end_zone in balance_pgdat() is 0 by default, if
> all zones have watermark ok, end_zone will keep 0.
> Later sleeping_prematurely() always returns true. Because this is an order 3
> wakeup, and if classzone_idx is 0, both balanced_pages and present_pages
> in pgdat_balanced() are 0.
> We add a special case here. If a zone has no page, we think it's balanced. This
> fixes the livelock.
> 
> Signed-off-by: Shaohua Li <shaohua.li@intel.com>
> 

Acked-by: Mel Gorman <mgorman@suse.de>

It's also needed for 3.0 and 2.6.39-stable I believe.

-- 
Mel Gorman
SUSE Labs

WARNING: multiple messages have this Message-ID (diff)
From: Mel Gorman <mgorman@suse.de>
To: Shaohua Li <shaohua.li@intel.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
	linux-mm <linux-mm@kvack.org>,
	lkml <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH]vmscan: fix a livelock in kswapd
Date: Tue, 19 Jul 2011 09:39:32 +0100	[thread overview]
Message-ID: <20110719083932.GD5349@suse.de> (raw)
In-Reply-To: <1311059367.15392.299.camel@sli10-conroe>

On Tue, Jul 19, 2011 at 03:09:27PM +0800, Shaohua Li wrote:
> I'm running a workload which triggers a lot of swap in a machine with 4 nodes.
> After I kill the workload, I found a kswapd livelock. Sometimes kswapd3 or
> kswapd2 are keeping running and I can't access filesystem, but most memory is
> free. This looks like a regression since commit 08951e545918c159.
> Node 2 and 3 have only ZONE_NORMAL, but balance_pgdat() will return 0 for
> classzone_idx. The reason is end_zone in balance_pgdat() is 0 by default, if
> all zones have watermark ok, end_zone will keep 0.
> Later sleeping_prematurely() always returns true. Because this is an order 3
> wakeup, and if classzone_idx is 0, both balanced_pages and present_pages
> in pgdat_balanced() are 0.
> We add a special case here. If a zone has no page, we think it's balanced. This
> fixes the livelock.
> 
> Signed-off-by: Shaohua Li <shaohua.li@intel.com>
> 

Acked-by: Mel Gorman <mgorman@suse.de>

It's also needed for 3.0 and 2.6.39-stable I believe.

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

  reply	other threads:[~2011-07-19  8:39 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-07-19  7:09 [PATCH]vmscan: fix a livelock in kswapd Shaohua Li
2011-07-19  7:09 ` Shaohua Li
2011-07-19  8:39 ` Mel Gorman [this message]
2011-07-19  8:39   ` Mel Gorman
2011-07-19  8:45 ` Minchan Kim
2011-07-19  8:45   ` Minchan Kim
2011-07-19  8:53   ` Shaohua Li
2011-07-19  8:53     ` Shaohua Li
2011-07-19 16:51     ` Minchan Kim
2011-07-19 16:51       ` Minchan Kim
2011-07-20  0:43       ` Shaohua Li
2011-07-20  0:43         ` Shaohua Li
2011-07-20  4:09         ` Minchan Kim
2011-07-20  4:09           ` Minchan Kim
2011-07-20  5:18           ` Shaohua Li
2011-07-20  5:18             ` Shaohua Li
2011-07-20  5:43             ` Minchan Kim
2011-07-20  5:43               ` Minchan Kim
2011-07-20  5:44 ` Minchan Kim
2011-07-20  5:44   ` Minchan Kim

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=20110719083932.GD5349@suse.de \
    --to=mgorman@suse.de \
    --cc=akpm@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=shaohua.li@intel.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.