All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dave Chinner <david@fromorbit.com>
To: Lucas Nussbaum <lucas.nussbaum@loria.fr>
Cc: linux-ext4@vger.kernel.org,
	Emmanuel Jeanvoine <emmanuel.jeanvoine@inria.fr>
Subject: Re: Extremely slow remounts with concurrent I/O
Date: Thu, 13 Mar 2014 18:19:25 +1100	[thread overview]
Message-ID: <20140313071925.GI6851@dastard> (raw)
In-Reply-To: <20140305141343.GA26225@xanadu.blop.info>

On Wed, Mar 05, 2014 at 03:13:43PM +0100, Lucas Nussbaum wrote:
> TL;DR: we experience long temporary hangs when doing multiple mount -o
> remount at the same time as other I/O on an ext4 filesystem.
> 
> Hi,
> 
> When starting hundreds of LXC containers simultaneously on a system, the
> boot of some containers was hanging. We tracked this down to an
> initscript's use of mount -o remount, which was hanging in D state.
> 
> We reproduced the problem outside of LXC, with the script available at
> [0]. That script initiates 1000 mount -o remount, and performs some
> writes using a big cp to the same filesystem during the remounts.
....
> Some other things we tried:
> 1) we tried to 'sync' after removing the files, and dropping the caches
> (as shown in the commented lines in [0]). That makes the problem disappear
> (or at least makes it less frequent). The overall script execution is
> actually faster with the post-rm sync and dropping caches than without
> them!
> 
> 2) We tried switching to the noop scheduler (instead of cfq). The problem
> could still be reproduced. A btrace dump with noop is available at [2].
> 
> 3) We tried with ext3 instead of ext4. The problem could never be
> reproduced.
> 
> 4) We tried on different machines, and we could reproduce the problem.
> However, on a machine with SSD drives, we were not able to reproduce the
> problem.
> 
> Any ideas?

If this really is caused by sync on ext4 being slow while there are
concurrent writers, then perhaps:

http://marc.info/?l=linux-ext4&m=139388721931428&w=2

is a possible fix...

Cheers,

Dave.
-- 
Dave Chinner
david@fromorbit.com

      parent reply	other threads:[~2014-03-13  7:19 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-05 14:13 Extremely slow remounts with concurrent I/O Lucas Nussbaum
2014-03-06 13:56 ` [PATCH, RFC] jbd2: don't write non-commit blocks synchronously Theodore Ts'o
2014-03-06 17:28   ` Lucas Nussbaum
2014-03-06 18:27     ` Theodore Ts'o
2014-03-06 18:45       ` Lucas Nussbaum
2014-03-06 18:37     ` Lucas Nussbaum
2014-03-08 16:08 ` [PATCH, RFC] fs: only call sync_filesystem() when remounting read-only Theodore Ts'o
2014-03-08 16:08 ` Theodore Ts'o
2014-03-10 11:45   ` Lucas Nussbaum
2014-03-10 14:41     ` Theodore Ts'o
2014-03-10 12:15   ` Lucas Nussbaum
2014-03-13  0:36   ` Dave Chinner
2014-03-13  1:16     ` Theodore Ts'o
2014-03-13  3:14       ` Theodore Ts'o
2014-03-13  6:04         ` Dave Chinner
2014-03-13 12:55           ` Theodore Ts'o
2014-03-13  7:39     ` Christoph Hellwig
2014-03-13 14:20       ` [Cluster-devel] [PATCH] fs: push sync_filesystem() down to the file system's remount_fs() Theodore Ts'o
2014-03-13 14:22         ` [Ocfs2-devel] " Theodore Ts'o
2014-03-13 14:20         ` Theodore Ts'o
2014-03-13 14:20         ` Theodore Ts'o
2014-03-13 14:20         ` Theodore Ts'o
2014-03-13 14:20         ` Theodore Ts'o
2014-03-13 14:50         ` Anders Larsen
2014-03-13 16:23         ` [Cluster-devel] " Jan Kara
2014-03-13 16:23           ` [Ocfs2-devel] " Jan Kara
2014-03-13 16:23           ` Jan Kara
2014-03-13 16:23           ` Jan Kara
2014-03-13 16:23           ` Jan Kara
2014-03-13 16:23           ` Jan Kara
2014-03-13 16:28           ` [Cluster-devel] " Steven Whitehouse
2014-03-13 16:28             ` [Ocfs2-devel] " Steven Whitehouse
2014-03-13 16:28             ` Steven Whitehouse
2014-03-13 16:28             ` Steven Whitehouse
2014-03-13 16:28             ` Steven Whitehouse
2014-03-13 16:28             ` Steven Whitehouse
2014-03-13 16:28             ` [Cluster-devel] " Steven Whitehouse
2014-03-13 16:28             ` Steven Whitehouse
2014-03-13 23:15             ` [Cluster-devel] " Theodore Ts'o
2014-03-13 23:15               ` [Ocfs2-devel] " Theodore Ts'o
2014-03-13 23:15               ` Theodore Ts'o
2014-03-13 23:15               ` Theodore Ts'o
2014-03-13 23:15               ` Theodore Ts'o
2014-03-13 23:15               ` Theodore Ts'o
2014-03-14 12:13               ` Jan Kara
2014-03-14 12:13                 ` [Ocfs2-devel] " Jan Kara
2014-03-14 12:13                 ` Jan Kara
2014-03-14 12:13                 ` Jan Kara
2014-03-14 12:13                 ` Jan Kara
2014-03-14 12:13                 ` Jan Kara
2014-03-14  0:33         ` Steve French
2014-03-14  0:33           ` [Ocfs2-devel] " Steve French
2014-03-14  0:33           ` Steve French
2014-03-14  0:33           ` Steve French
2014-03-14  0:33           ` Steve French
2014-03-14  0:33           ` Steve French
2014-03-14  1:23           ` [Cluster-devel] " Theodore Ts'o
2014-03-14  1:23             ` [Ocfs2-devel] " Theodore Ts'o
2014-03-14  1:23             ` Theodore Ts'o
2014-03-14  1:23             ` Theodore Ts'o
2014-03-14  1:23             ` Theodore Ts'o
2014-03-14  1:23             ` Theodore Ts'o
2014-03-13  7:19 ` Dave Chinner [this message]

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=20140313071925.GI6851@dastard \
    --to=david@fromorbit.com \
    --cc=emmanuel.jeanvoine@inria.fr \
    --cc=linux-ext4@vger.kernel.org \
    --cc=lucas.nussbaum@loria.fr \
    /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.