From: Chris Friesen <chris.friesen@windriver.com>
To: "Theodore Ts'o" <tytso@mit.edu>, Thomas Gleixner <tglx@linutronix.de>
Cc: Austin Schuh <austin@peloton-tech.com>, <pavel@pavlinux.ru>,
"J. Bruce Fields" <bfields@fieldses.org>,
<linux-ext4@vger.kernel.org>, <adilger.kernel@dilger.ca>,
rt-users <linux-rt-users@vger.kernel.org>
Subject: Re: RT/ext4/jbd2 circular dependency
Date: Wed, 29 Oct 2014 17:37:03 -0600 [thread overview]
Message-ID: <54517A1F.1060102@windriver.com> (raw)
In-Reply-To: <20141029231916.GD5000@thunk.org>
On 10/29/2014 05:19 PM, Theodore Ts'o wrote:
> On Wed, Oct 29, 2014 at 08:26:36PM +0100, Thomas Gleixner wrote:
>>> For what it's worth, I'm currently testing a backport of commit b34090e from
>>> mainline (which in turn required backporting commits e5a120a and f5113ef). It
>>> switches from using the BJ_Shadow list to using the BH_Shadow flag on the
>>> buffer head. More interestingly, waiters now get woken up from
>>> journal_end_buffer_io_sync() instead of from
>>> jbd2_journal_commit_transaction().
>>>
>>> So far this seems to be helping a lot. It's lasted about 15x as long under
>>> stress as without the patches.
>>
>> I fear that this is just papering over the problem, but you have to
>> talk to the jbd2 folks about that.
>
> No, it's a clean fix for the problem. The main issue is that what the
> jbd2 commit was doing was starting inode writeback for those blocks
> needed to guarantee data=ordered mode (so this is what caused various
> pages to have writeback page set) as well as starting metadata writes
> to the commit (which is what caused the shadow bit to be set on the
> metadata buffers).
>
> Now that we clear the shadow flag when the metadata writes is
> complete, the writeback will eventually be allowed to complete and
> this prevents the deadlock.
Thanks for the explanation.
A few questions:
1) Is this something that could hit mainline as well, or just the RT kernel?
2) If it can hit mainline, is this something that should be considered
for the various longterm-support kernels? (3.10, maybe 3.4)
3) For 3.4, do you think that it's sufficient to backport the three
commits I mentioned, or are you aware of others that I should be looking
at as well?
Chris
next prev parent reply other threads:[~2014-10-29 23:37 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-17 17:50 Hang writing to nfs-mounted filesystem from client, all nfsd tasks on server blocked in D Chris Friesen
2014-10-17 18:01 ` Pavel Vasilyev
[not found] ` <CANGgnMbQmsdMDJUx7Bop9Xs=jQMmAJgWRjhXVFUGx-DwF=inYw@mail.gmail.com>
2014-10-23 17:54 ` RT/ext4/jbd2 circular dependency (was: Re: Hang writing to nfs-mounted filesystem from client) Chris Friesen
2014-10-26 14:25 ` Thomas Gleixner
2014-10-27 16:22 ` RT/ext4/jbd2 circular dependency Chris Friesen
2014-10-29 18:05 ` Thomas Gleixner
2014-10-29 19:11 ` Chris Friesen
2014-10-29 19:26 ` Thomas Gleixner
2014-10-29 20:17 ` Chris Friesen
2014-10-29 20:31 ` Thomas Gleixner
2014-10-29 23:19 ` Theodore Ts'o
2014-10-29 23:37 ` Chris Friesen [this message]
2014-10-30 1:44 ` Theodore Ts'o
2014-10-30 8:15 ` Kevin Liao
2014-10-30 12:24 ` Theodore Ts'o
2014-10-30 21:11 ` Thomas Gleixner
2014-10-30 23:24 ` Theodore Ts'o
2014-10-31 0:08 ` Chris Friesen
2014-10-31 0:16 ` Thomas Gleixner
2014-11-13 19:06 ` Jan Kara
2014-10-27 19:57 ` Chris Friesen
[not found] ` <544156FE.7070905-CWA4WttNNZF54TAoqtyWWQ@public.gmane.org>
2014-10-17 18:58 ` Hang writing to nfs-mounted filesystem from client, all nfsd tasks on server blocked in D Austin Schuh
2014-10-17 19:12 ` Dmitry Monakhov
2014-10-18 17:05 ` Hang writing to nfs-mounted filesystem from client -- expected code path? Chris Friesen
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=54517A1F.1060102@windriver.com \
--to=chris.friesen@windriver.com \
--cc=adilger.kernel@dilger.ca \
--cc=austin@peloton-tech.com \
--cc=bfields@fieldses.org \
--cc=linux-ext4@vger.kernel.org \
--cc=linux-rt-users@vger.kernel.org \
--cc=pavel@pavlinux.ru \
--cc=tglx@linutronix.de \
--cc=tytso@mit.edu \
/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).