public inbox for linux-xfs@vger.kernel.org
 help / color / mirror / Atom feed
From: Andi Kleen <andi@firstfloor.org>
To: David Chinner <dgc@sgi.com>
Cc: Andi Kleen <andi@firstfloor.org>,
	Stewart Smith <stewart@mysql.com>, xfs-oss <xfs@oss.sgi.com>,
	lkml <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 2/9]: Reduce Log I/O latency
Date: Fri, 23 Nov 2007 13:01:15 +0100	[thread overview]
Message-ID: <20071123120115.GA18532@one.firstfloor.org> (raw)
In-Reply-To: <20071123040329.GB114266761@sgi.com>

On Fri, Nov 23, 2007 at 03:03:29PM +1100, David Chinner wrote:
> On Fri, Nov 23, 2007 at 03:53:17AM +0100, Andi Kleen wrote:
> > On Fri, Nov 23, 2007 at 12:15:39AM +1100, David Chinner wrote:
> > > On Thu, Nov 22, 2007 at 01:06:11PM +0100, Andi Kleen wrote:
> > > > > FWIW from a "real time" database POV this seems to make sense to me...
> > > > > in fact, we probably rely on filesystem metadata way too much
> > > > > (historically it's just "worked".... although we do seem to get issues
> > > > > on ext3).
> > > > 
> > > > For that case you really would need priority inheritance: any metadata
> > > > IO on behalf or blocking a process needs to use the process' block IO 
> > > > priority.
> > > 
> > > How do you do that when the processes are blocking on semaphores,
> > > mutexes or rw-semaphores in the fileysystem three layers removed from
> > > the I/O in progress?
> > 
> > [...] I didn't say it was easy (or rather explicitely said it would be tricky).
> > Probably it would be possible to fold it somehow into rt mutexes PI,
> > but it's not easy and semaphores would need to be handled too.
> > 
> > Just my point was to solve the metadata RT problem unconditionally increasing
> > the priority is a bad idea and not really a replacement to a "full"
> > solution. Short term a user can just increase the priority of all the XFS 
> > threads anyways.
> 
> The point is that it's not actually a thread-based problem - the priority
> can't be inherited via the traditional mutex-like manner. There is no
> connection between a thread and an I/o it has already issued and so you
> can't transfer a priority from a blocked thread to an issued-but-blocked
> i/o....

It could be handled in theory similar to standard CPU priority inheritance -- \
keep track of IO priority of all threads you block and boost your IO priority
always to that level. But it would be probably not very easy to do.


-Andi

  reply	other threads:[~2007-11-23 12:01 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20071122003339.GH114266761__34694.2978365861$1195691722$gmane$org@sgi.com>
2007-11-22  0:49 ` [PATCH 2/9]: Reduce Log I/O latency Andi Kleen
2007-11-22  1:12   ` David Chinner
2007-11-22  2:57     ` Matt Mackall
2007-11-22  3:41       ` David Chinner
2007-11-22  7:25         ` Matt Mackall
2007-11-22 10:31           ` David Chinner
2007-11-22 18:10             ` Matt Mackall
2007-11-22 22:29               ` David Chinner
2007-11-22 23:09                 ` David Chinner
2007-11-23  0:21                   ` Matt Mackall
2007-11-23  0:20                 ` Matt Mackall
2007-11-22  3:28     ` Stewart Smith
2007-11-22 12:06       ` Andi Kleen
2007-11-22 13:15         ` David Chinner
2007-11-23  2:53           ` Andi Kleen
2007-11-23  4:03             ` David Chinner
2007-11-23 12:01               ` Andi Kleen [this message]
2007-11-24 18:43                 ` Matt Mackall
2007-11-22  0:33 David Chinner
2007-11-26  2:11 ` Lachlan McIlroy

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=20071123120115.GA18532@one.firstfloor.org \
    --to=andi@firstfloor.org \
    --cc=dgc@sgi.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stewart@mysql.com \
    --cc=xfs@oss.sgi.com \
    /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