From: Dmitry Monakhov <dmonakhov@openvz.org>
To: Jens Axboe <jens.axboe@oracle.com>
Cc: linux-ext4@vger.kernel.org
Subject: Re: [Bug 15906] serious performance regression in "umount" on ext4 over LVM
Date: Wed, 05 May 2010 12:27:41 +0400 [thread overview]
Message-ID: <87ljbyhhxe.fsf@openvz.org> (raw)
In-Reply-To: <201005050728.o457SHRn012045@demeter.kernel.org> (bugzilla-daemon@bugzilla.kernel.org's message of "Wed, 5 May 2010 07:28:17 GMT")
bugzilla-daemon@bugzilla.kernel.org writes:
Hi Jens,
Just FYI, we have found a regression which was caused by your famous
writeback patch 03ba3782e8dcc5b0e1efe440d33084f066e38cae
I'm not allowed to add you to CC in BZ, that's why i wrote this mail.
Before the patch __sync_filesystem() called writeback_single_inode()
directly, but now it is called indirectly (from flush-X:X task)
which require a super_block in question to be pinned.
But this is impossible to pin this SB on umount because we already
hold s_umount sem for write, so effectively we already pinned that SB.
So my proposal is to treat umount similar to WB_SYNC_ALL, and skip
pining stage.
> https://bugzilla.kernel.org/show_bug.cgi?id=15906
>
>
> Dmitry Monakhov <dmonakhov@openvz.org> changed:
>
> What |Removed |Added
> ----------------------------------------------------------------------------
> CC| |dmonakhov@openvz.org
>
>
>
>
> --- Comment #13 from Dmitry Monakhov <dmonakhov@openvz.org> 2010-05-05 07:28:10 ---
> Yep. i've already know that issue. In fact it was broken by followng commit
>
> From 03ba3782e8dcc5b0e1efe440d33084f066e38cae Mon Sep 17 00:00:00 2001
> From: Jens Axboe <jens.axboe@oracle.com>
> Date: Wed, 9 Sep 2009 09:08:54 +0200
> Subject: [PATCH] writeback: switch to per-bdi threads for flushing data
>
> The problem with __sync_filesystem(0) is no longer works on umount
> because sb can not be pined s_mount sem is downed for write and s_root is NULL.
>
> And in fact ext3 is also broken in case of "-obarrier=1"
> The patch attached fix the original regression, but there is one more issue
> left
>
> A delalloc option. In fact dirty inode is still dirty even after first
> call of writeback_single_inode which is called from __sync_filesystem(0)
> due to delalloc allocation happen during inode write. So it takes second
> __sync_filesystem call to clear dirty flags. Currently i'm working on that
> issue. I hope i'll post a solution today.
next prev parent reply other threads:[~2010-05-05 8:27 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-04 20:36 [Bug 15906] New: serious performance regression in "umount" on ext4 over LVM bugzilla-daemon
2010-05-04 20:37 ` [Bug 15906] " bugzilla-daemon
2010-05-04 20:41 ` bugzilla-daemon
2010-05-04 20:52 ` bugzilla-daemon
2010-05-04 21:05 ` bugzilla-daemon
2010-05-04 21:11 ` bugzilla-daemon
2010-05-04 21:12 ` bugzilla-daemon
2010-05-04 21:34 ` bugzilla-daemon
2010-05-04 21:48 ` bugzilla-daemon
2010-05-05 0:28 ` bugzilla-daemon
2010-05-05 3:18 ` bugzilla-daemon
2010-05-05 4:00 ` bugzilla-daemon
2010-05-05 4:46 ` bugzilla-daemon
2010-05-05 7:28 ` bugzilla-daemon
2010-05-05 8:27 ` Dmitry Monakhov [this message]
2010-05-05 8:40 ` Jens Axboe
2010-05-05 9:06 ` Dmitry Monakhov
2010-05-05 7:30 ` bugzilla-daemon
2010-05-05 19:44 ` bugzilla-daemon
2010-05-05 20:34 ` [Bug 15906] performance regression in "umount" of filesystems using barriers bugzilla-daemon
2010-05-05 21:36 ` Greg Freemyer
2010-05-05 20:34 ` bugzilla-daemon
2010-05-05 21:36 ` bugzilla-daemon
2010-05-05 21:55 ` Greg Freemyer
2010-05-06 3:49 ` bugzilla-daemon
2010-05-06 7:09 ` bugzilla-daemon
2010-05-06 7:10 ` bugzilla-daemon
2010-05-07 9:47 ` bugzilla-daemon
2010-05-08 14:30 ` bugzilla-daemon
2010-05-17 3:28 ` bugzilla-daemon
2010-05-17 3:44 ` bugzilla-daemon
2010-05-17 10:52 ` bugzilla-daemon
2010-05-19 18:57 ` bugzilla-daemon
2010-05-19 19:12 ` bugzilla-daemon
2010-05-21 1:05 ` bugzilla-daemon
2010-05-21 2:07 ` bugzilla-daemon
2010-05-21 6:08 ` bugzilla-daemon
2010-05-22 4:38 ` bugzilla-daemon
2010-05-26 16:44 ` bugzilla-daemon
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=87ljbyhhxe.fsf@openvz.org \
--to=dmonakhov@openvz.org \
--cc=jens.axboe@oracle.com \
--cc=linux-ext4@vger.kernel.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 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.