From: john stultz <johnstul@us.ibm.com>
To: "Chen, Tim C" <tim.c.chen@intel.com>
Cc: "tytso@mit.edu" <tytso@mit.edu>, Andi Kleen <andi@firstfloor.org>,
"linux-ext4@vger.kernel.org" <linux-ext4@vger.kernel.org>,
Mingming Cao <cmm@us.ibm.com>,
keith maanthey <kmannth@us.ibm.com>,
Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@elte.hu>,
Darren Hart <dvhltc@us.ibm.com>
Subject: RE: ext4 dbench performance with CONFIG_PREEMPT_RT
Date: Fri, 09 Apr 2010 16:57:35 -0700 [thread overview]
Message-ID: <1270857455.4704.21.camel@localhost.localdomain> (raw)
In-Reply-To: <EA929A9653AAE14F841771FB1DE5A1365FE4FCD4BC@rrsmsx501.amr.corp.intel.com>
On Fri, 2010-04-09 at 17:48 -0600, Chen, Tim C wrote:
>
> >tytso@mit.edu wrote
> >
> >Yeah, I'm very much aware of that. What worries me is that locking
> >problems in the jbd2 layer could be very hard to debug, so we need to
> >make sure we have some really good testing as we make any changes.
> >
> >Not taking the j_state_lock spinlock in jbd2_stop_lock() was relatively
> >easy to prove to be safe, but I'm really worried about
> >start_this_handle() the locking around that is going to be subtle, and
> >it's not just the specific fields in the transaction and journal
> >handle.
> >
> >And even with the jbd2_stop_lock() change, I'd really prefer some
> >pretty exhaustive testing, including power fail testing, just to make
> >sure we're in practice when/if we make more subtle or more invasive
> >changes to the jbd2 layer...
> >
> >So I'm mot waving the red flag, but the yellow flag (as they would say
> >in auto racing circles).
> >
>
> Your patch did remove the contention on the j_state_lock for dbench
> in my testing with 64 threads. The contention point now
> moves dcache_lock, which is also another tricky bottleneck.
Nick Piggin's vfs scalability patches takes care of the dcache_lock
contention. I'm actually using them with the -rt patch in my testing
here.
> In our other testing with FFSB that creates/rename/remove a lot of directories,
> we found that journal->j_revoke_lock was also heavily contended.
Yep. This also shows up in my -rt patch testing with Ted's patch.
thanks
-john
next prev parent reply other threads:[~2010-04-09 23:57 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-07 23:21 ext4 dbench performance with CONFIG_PREEMPT_RT john stultz
2010-04-08 3:46 ` tytso
2010-04-08 10:18 ` Theodore Tso
2010-04-08 20:41 ` john stultz
2010-04-08 21:10 ` tytso
2010-04-13 3:52 ` john stultz
2010-04-14 3:04 ` john stultz
2010-04-08 22:37 ` Mingming Cao
2010-04-12 19:46 ` Jan Kara
2010-04-13 14:52 ` tytso
2010-04-13 16:25 ` Darren Hart
2010-06-02 22:35 ` j_state_lock patch data (was: Re: ext4 dbench performance with CONFIG_PREEMPT_RT) Eric Whitney
2010-04-09 15:49 ` ext4 dbench performance with CONFIG_PREEMPT_RT Andi Kleen
2010-04-09 23:33 ` tytso
2010-04-09 23:48 ` Chen, Tim C
2010-04-09 23:57 ` john stultz [this message]
2010-04-10 11:58 ` tytso
2010-04-12 19:54 ` Chen, Tim C
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=1270857455.4704.21.camel@localhost.localdomain \
--to=johnstul@us.ibm.com \
--cc=andi@firstfloor.org \
--cc=cmm@us.ibm.com \
--cc=dvhltc@us.ibm.com \
--cc=kmannth@us.ibm.com \
--cc=linux-ext4@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=tglx@linutronix.de \
--cc=tim.c.chen@intel.com \
--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 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.