linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Chris Mason <chris.mason@oracle.com>
To: Colin Ian King <colin.king.lkml@gmail.com>
Cc: James Bottomley <james.bottomley@suse.de>,
	linux-fsdevel <linux-fsdevel@vger.kernel.org>,
	linux-mm <linux-mm@kvack.org>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	linux-ext4 <linux-ext4@vger.kernel.org>
Subject: Re: [BUG] fatal hang untarring 90GB file, possibly writeback related.
Date: Thu, 28 Apr 2011 08:29:29 -0400	[thread overview]
Message-ID: <1303993705-sup-5213@think> (raw)
In-Reply-To: <1303990590.2081.9.camel@lenovo>

Excerpts from Colin Ian King's message of 2011-04-28 07:36:30 -0400:
> One more data point to add, I've been looking at an identical issue when
> copying large amounts of data.  I bisected this - and the lockups occur
> with commit 
> 3e7d344970673c5334cf7b5bb27c8c0942b06126 - before that I don't see the
> issue. With this commit, my file copy test locks up after ~8-10
> iterations, before this commit I can copy > 100 times and don't see the
> lockup.

Well, that's really interesting.  I tried with compaction on here and
couldn't trigger it, but this (very very lightly) tested patch might
help.

It moves the writeout throttle before the goto restart, and also makes
sure we do at least one cond_resched before we loop.

diff --git a/mm/vmscan.c b/mm/vmscan.c
index 6771ea7..cb08b41 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -1934,12 +1934,14 @@ restart:
 	if (inactive_anon_is_low(zone, sc))
 		shrink_active_list(SWAP_CLUSTER_MAX, zone, sc, priority, 0);
 
+	throttle_vm_writeout(sc->gfp_mask);
+
 	/* reclaim/compaction might need reclaim to continue */
 	if (should_continue_reclaim(zone, nr_reclaimed,
-					sc->nr_scanned - nr_scanned, sc))
+					sc->nr_scanned - nr_scanned, sc)) {
+		cond_resched();
 		goto restart;
-
-	throttle_vm_writeout(sc->gfp_mask);
+	}
 }
 
 /*

--
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-04-28 12:29 UTC|newest]

Thread overview: 71+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-04-27 16:09 [BUG] fatal hang untarring 90GB file, possibly writeback related James Bottomley
2011-04-27 16:33 ` Chris Mason
2011-04-27 16:50   ` James Bottomley
2011-04-27 16:54     ` Chris Mason
2011-04-27 17:21       ` James Bottomley
2011-04-27 17:34         ` Chris Mason
2011-04-27 17:50           ` James Bottomley
2011-04-27 18:25             ` Colin Ian King
2011-04-28 15:57               ` James Bottomley
2011-04-27 20:05             ` James Bottomley
2011-04-28 11:36               ` Colin Ian King
2011-04-28 12:29                 ` Chris Mason [this message]
2011-04-28 13:42                   ` Colin Ian King
2011-04-28 13:45                     ` Chris Mason
2011-04-28 14:01                       ` Colin Ian King
2011-04-28 14:04                         ` Chris Mason
2011-04-28 15:23                           ` Colin Ian King
2011-04-28 14:25                         ` Jan Kara
2011-04-28 14:33                           ` Jan Kara
2011-04-28 14:58                             ` Colin Ian King
2011-04-28 22:40                               ` Jan Kara
2011-04-28 22:44                                 ` James Bottomley
2011-05-03 18:55                                 ` Colin Ian King
2011-04-28 16:11                             ` James Bottomley
2011-04-28 14:49                   ` James Bottomley
2011-04-28 13:52                 ` Jan Kara
2011-04-28 14:07                   ` Mel Gorman
2011-04-28 14:25                     ` James Bottomley
2011-04-28 15:08                       ` Mel Gorman
2011-04-28 16:01                         ` James Bottomley
2011-04-28 16:50                           ` James Bottomley
2011-04-28 16:56                             ` James Bottomley
2011-04-28 17:18                               ` Mel Gorman
2011-04-28 18:30                                 ` James Bottomley
2011-04-28 19:21                                   ` Mel Gorman
2011-04-28 19:59                                     ` James Bottomley
2011-04-28 20:27                                       ` Mel Gorman
2011-04-29 15:02                                         ` James Bottomley
2011-04-28 21:12                                       ` James Bottomley
2011-04-28 22:43                                         ` James Bottomley
2011-05-03  9:13                                           ` Mel Gorman
2011-05-03 14:13                                             ` James Bottomley
2011-05-03 14:22                                               ` James Bottomley
2011-05-06  7:42                                                 ` Mel Gorman
2011-05-06  8:07                                                   ` Mel Gorman
2011-05-09 18:16                                                     ` James Bottomley
2011-05-10 10:21                                                       ` Mel Gorman
2011-05-10 10:33                                                         ` Pekka Enberg
2011-05-10 14:01                                                         ` James Bottomley
2011-05-10 14:35                                                           ` Mel Gorman
2011-05-10 15:29                                                             ` James Bottomley
2011-05-10 15:57                                                               ` James Bottomley
2011-05-10 17:05                                                                 ` James Bottomley
2011-05-10 17:17                                                                   ` Mel Gorman
2011-05-10 17:29                                                                     ` James Bottomley
2011-05-10 21:08                                                               ` Raghavendra D Prabhu
2011-05-11  9:16                                                                 ` Mel Gorman
2011-05-06 11:42                                                   ` Mel Gorman
2011-05-06 15:44                                                   ` Mel Gorman
2011-05-06 19:14                                                     ` James Bottomley
2011-05-06 19:37                                                       ` Mel Gorman
2011-05-10  5:37                                                     ` Colin Ian King
2011-05-06 15:58                                                   ` James Bottomley
2011-05-03  9:54                                 ` Colin Ian King
2011-04-28 17:10                         ` Colin Ian King
2011-04-28  0:37         ` Dave Chinner
2011-04-29 10:23         ` Sedat Dilek
2011-04-29 15:37           ` James Bottomley
2011-04-29 16:31             ` James Bottomley
2011-04-29 18:02               ` James Bottomley
2011-05-02 20:04                 ` James Bottomley

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=1303993705-sup-5213@think \
    --to=chris.mason@oracle.com \
    --cc=colin.king.lkml@gmail.com \
    --cc=james.bottomley@suse.de \
    --cc=linux-ext4@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.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;
as well as URLs for NNTP newsgroup(s).