All of lore.kernel.org
 help / color / mirror / Atom feed
From: Theodore Tso <tytso@mit.edu>
To: Chris Mason <mason@suse.com>
Cc: Linus Torvalds <torvalds@transmeta.com>,
	Daniel Phillips <phillips@bonn-fries.net>,
	Ben LaHaise <bcrl@redhat.com>,
	Rik van Riel <riel@conectiva.com.br>,
	linux-mm@kvack.org
Subject: Re: [RFC][DATA] re "ongoing vm suckage"
Date: Tue, 7 Aug 2001 21:08:03 -0400	[thread overview]
Message-ID: <20010807210803.C2476@thunk.org> (raw)
In-Reply-To: <493160000.997215771@tiny>; from mason@suse.com on Tue, Aug 07, 2001 at 04:22:51PM -0400

On Tue, Aug 07, 2001 at 04:22:51PM -0400, Chris Mason wrote:
> 
> On Tuesday, August 07, 2001 12:52:11 PM -0700 Linus Torvalds
> <torvalds@transmeta.com> wrote:
> 
> > On Tue, 7 Aug 2001, Chris Mason wrote:
> >> 
> >> Linus seemed pretty sure kswapd wasn't deadlocked, but though I would
> >> mention this anyway....
> > 
> > The thing that Leonard seems able to repeat pretty well is just doing a
> > "mke2fs" on a big partition. I don't think xfs is involved there at all.
> 
> It depends, mke2fs could be just another GFP_NOFS process waiting around
> for kswapd to free buffers.  If a journaled filesystem is there, and it is
> locking up kswapd, any heavy buffer allocator could make the problem seem
> worse.

mke2fs is a completely different case.  That's just a simple write
throttling problem --- mke2fs simply is doing a lot of disk writes to
a block device very quickly (zeroing out the inode table).  The kernel
shouldn't be allowing a user process to dirty so many buffers that VM
starts getting f*cked --- in the past mke2fs could actually cause the
OOM to start randomly killing processes.

There's a workaround which causes the problem to go away; if you
export the MKE2FS_SYNC environment variable and set it to a small
value (say, 5 or 10), then every 5 or 10 block groups, mke2fs will
call sync(), and this effectively acts as a write throttler.

I had considered making this the default, but this is such a great way
of demonstrating that a kernel has a write throttling problem that I
haven't done so, since it's effectively hiding a kernel VM bug.
(Simply writing to a block device shouldn't cause the OOM to trigger;
and since mke2fs is just doing block device writes, it's not a
GFP_NOFS case.)

(We seem to have a habit of repeatedly breaking write throttling; it
was broken for a while in 2.2, then it got fixed, then someone wanted
to "fix" the VM, and they would break write throttling again... and
again... and again....)

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

  reply	other threads:[~2001-08-08  1:08 UTC|newest]

Thread overview: 94+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-08-03 23:44 [RFC][DATA] re "ongoing vm suckage" Ben LaHaise
2001-08-03 23:44 ` Ben LaHaise
2001-08-04  1:29 ` Rik van Riel
2001-08-04  1:29   ` Rik van Riel
2001-08-04  3:06   ` Daniel Phillips
2001-08-04  3:06     ` Daniel Phillips
2001-08-04  3:13     ` Linus Torvalds
2001-08-04  3:13       ` Linus Torvalds
2001-08-04  3:23       ` Rik van Riel
2001-08-04  3:23         ` Rik van Riel
2001-08-04  3:35         ` Linus Torvalds
2001-08-04  3:35           ` Linus Torvalds
2001-08-04  3:26       ` Ben LaHaise
2001-08-04  3:26         ` Ben LaHaise
2001-08-04  3:34         ` Rik van Riel
2001-08-04  3:34           ` Rik van Riel
2001-08-04  3:38         ` Linus Torvalds
2001-08-04  3:38           ` Linus Torvalds
2001-08-04  3:48         ` Linus Torvalds
2001-08-04  3:48           ` Linus Torvalds
2001-08-04  4:14           ` Ben LaHaise
2001-08-04  4:14             ` Ben LaHaise
2001-08-04  4:20             ` Linus Torvalds
2001-08-04  4:20               ` Linus Torvalds
2001-08-04  4:39               ` Ben LaHaise
2001-08-04  4:39                 ` Ben LaHaise
2001-08-04  4:47                 ` Linus Torvalds
2001-08-04  4:47                   ` Linus Torvalds
2001-08-04  5:13                   ` Ben LaHaise
2001-08-04  5:13                     ` Ben LaHaise
2001-08-04  5:28                     ` Linus Torvalds
2001-08-04  5:28                       ` Linus Torvalds
2001-08-04  6:37                     ` Linus Torvalds
2001-08-04  6:37                       ` Linus Torvalds
2001-08-04  5:38                       ` Marcelo Tosatti
2001-08-04  5:38                         ` Marcelo Tosatti
2001-08-04  7:13                         ` Rik van Riel
2001-08-04  7:13                           ` Rik van Riel
2001-08-04 23:28                           ` [PATCH] Unlazy activate (was: re "ongoing vm suckage") Daniel Phillips
2001-08-04 14:22                       ` [RFC][DATA] re "ongoing vm suckage" Mike Black
2001-08-04 14:22                         ` Mike Black
2001-08-04 17:08                         ` Linus Torvalds
2001-08-04 17:08                           ` Linus Torvalds
2001-08-04 20:54                           ` Jonathan Morton
2001-08-05  4:19                           ` Michael Rothwell
2001-08-05  4:19                             ` Michael Rothwell
2001-08-05 18:40                             ` Marcelo Tosatti
2001-08-05 18:40                               ` Marcelo Tosatti
2001-08-05 20:20                             ` Linus Torvalds
2001-08-05 20:20                               ` Linus Torvalds
2001-08-05 20:45                               ` arjan
2001-08-06 20:32                               ` Rob Landley
2001-08-06 20:32                                 ` Rob Landley
2001-08-05 15:24                           ` Mike Black
2001-08-05 15:24                             ` Mike Black
2001-08-05 20:04                             ` Linus Torvalds
2001-08-05 20:04                               ` Linus Torvalds
2001-08-05 20:23                               ` Alan Cox
2001-08-05 20:23                                 ` Alan Cox
2001-08-05 20:33                                 ` Linus Torvalds
2001-08-05 20:33                                   ` Linus Torvalds
2001-08-04 16:21                       ` Mark Hemment
2001-08-04 16:21                         ` Mark Hemment
2001-08-07 15:45                       ` Ben LaHaise
2001-08-07 15:45                         ` Ben LaHaise
2001-08-07 16:22                         ` Linus Torvalds
2001-08-07 16:22                           ` Linus Torvalds
2001-08-07 16:51                           ` Ben LaHaise
2001-08-07 16:51                             ` Ben LaHaise
2001-08-07 17:08                             ` Linus Torvalds
2001-08-07 17:08                               ` Linus Torvalds
2001-08-07 18:17                             ` Andrew Morton
2001-08-07 18:17                               ` Andrew Morton
2001-08-07 18:40                               ` Ben LaHaise
2001-08-07 18:40                                 ` Ben LaHaise
2001-08-07 21:33                                 ` Daniel Phillips
2001-08-07 21:33                                   ` Daniel Phillips
2001-08-07 22:03                                 ` Linus Torvalds
2001-08-07 21:33                             ` Linus Torvalds
2001-08-07 21:33                               ` Linus Torvalds
2001-08-07 17:04                           ` Linus Torvalds
2001-08-07 17:11                             ` Rik van Riel
2001-08-07 19:12                               ` Linus Torvalds
2001-08-07 19:21                                 ` Rik van Riel
2001-08-07 20:50                                   ` Linus Torvalds
2001-08-07 23:36                                   ` Linus Torvalds
2001-08-07 17:26                             ` Chris Mason
2001-08-07 18:13                               ` Daniel Phillips
2001-08-07 18:40                                 ` Chris Mason
2001-08-07 19:52                                   ` Linus Torvalds
2001-08-07 20:22                                     ` Chris Mason
2001-08-08  1:08                                       ` Theodore Tso [this message]
2001-08-08  1:13                                         ` Linus Torvalds
2001-08-08  2:25                             ` Marcelo Tosatti

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=20010807210803.C2476@thunk.org \
    --to=tytso@mit.edu \
    --cc=bcrl@redhat.com \
    --cc=linux-mm@kvack.org \
    --cc=mason@suse.com \
    --cc=phillips@bonn-fries.net \
    --cc=riel@conectiva.com.br \
    --cc=torvalds@transmeta.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.