From: Nathan Scott <nathans@sgi.com>
To: Daniel Walker <dwalker@mvista.com>, Ingo Molnar <mingo@elte.hu>,
Steve Lord <lord@xfs.org>
Cc: linux-kernel@vger.kernel.org, linux-xfs@oss.sgi.com
Subject: Re: RT and XFS
Date: Thu, 14 Jul 2005 10:22:46 +1000 [thread overview]
Message-ID: <20050714002246.GA937@frodo> (raw)
In-Reply-To: <1121273158.13259.9.camel@c-67-188-6-232.hsd1.ca.comcast.net>
Hi there,
On Wed, Jul 13, 2005 at 09:45:58AM -0700, Daniel Walker wrote:
> On Wed, 2005-07-13 at 08:47 +0200, Ingo Molnar wrote:
> >
> > downgrade_write() wasnt the main problem - the main problem was that for
> > PREEMPT_RT i implemented 'strict' semaphores, which are not identical to
> > vanilla kernel semaphores. The thing that seemed to impact XFS the most
> > is the 'acquirer thread has to release the lock' rule of strict
> > semaphores. Both the XFS logging code and the XFS IO completion code
> > seems to release locks in a different context from where the acquire
> > happened. It's of course valid upstream behavior, but without these
> > extra rules it's hard to do sane priority inheritance. (who do you boost
> > if you dont really know who 'owns' the lock?) It might make sense to
> > introduce some sort of sem_pass_to(new_owner) interface? For now i
> > introduced a compat type, which lets those semaphores fall back to the
> > vanilla implementation.
Hmm, I'm not aware of anywhere in XFS where we do that. From talking
to some colleagues here, they're claiming that we can't be doing that
since it'd trip an assert in the IRIX mrlock code.
> There's a lot of code like this in there .. I've seen some that down()
> in process contex, and up() in interrupt contex which is weird .. But
> those aren't major features, just little drivers. XFS is pretty major
> feature.
>
> Nathan, does XFS need this property or could we convert it to
> synchronize the locking (with ease?)?
I'm not yet sure in what situations we are doing this, so can't
really say. It'd be interesting to see an implementation of the
downgrade_write functionality and then a specific case where the
above locking behaviour happens ... and I'd then be able to say
how tricky that would be to resolve.
Steve, are you aware of situations where we unlock in a different
thread to where we acquired the lock? It'd surprise me, as we're
holding these things for as short a time as possible - afaict the
transactions always ilock, copy delta to iclog, pin, and unlock,
no? (all in the same thread). I can't see the iolock being used
in this way anywhere either... you?
cheers.
--
Nathan
next prev parent reply other threads:[~2005-07-14 0:30 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-07-12 23:01 RT and XFS Daniel Walker
2005-07-12 23:39 ` William Weston
2005-07-13 0:25 ` Nathan Scott
2005-07-13 0:41 ` Daniel Walker
2005-07-13 0:37 ` Nathan Scott
2005-07-13 6:47 ` Ingo Molnar
2005-07-13 16:45 ` Daniel Walker
2005-07-14 0:22 ` Nathan Scott [this message]
2005-07-14 3:50 ` Dave Chinner
2005-07-14 4:10 ` Daniel Walker
[not found] ` <20050714052347.GA18813@elte.hu>
2005-07-14 15:56 ` Daniel Walker
2005-07-14 16:08 ` Christoph Hellwig
2005-07-18 12:10 ` Esben Nielsen
2005-07-19 3:26 ` Bill Huey
2005-07-19 12:34 ` Ingo Molnar
2005-07-19 13:27 ` Christoph Hellwig
2005-07-19 13:50 ` Ingo Molnar
2005-07-14 16:08 ` Christoph Hellwig
2005-07-15 10:23 ` Ingo Molnar
2005-07-15 16:16 ` Daniel Walker
2005-07-18 11:33 ` Esben Nielsen
2005-07-19 3:31 ` Bill Huey
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=20050714002246.GA937@frodo \
--to=nathans@sgi.com \
--cc=dwalker@mvista.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-xfs@oss.sgi.com \
--cc=lord@xfs.org \
--cc=mingo@elte.hu \
/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