All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jens Axboe <jens.axboe@oracle.com>
To: Jeff Moyer <jmoyer@redhat.com>
Cc: Vivek Goyal <vgoyal@redhat.com>, Theodore Ts'o <tytso@mit.edu>,
	linux-ext4@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [patch,rfc v2] ext3/4: enhance fsync performance when using cfq
Date: Thu, 8 Apr 2010 21:23:36 +0200	[thread overview]
Message-ID: <20100408192336.GV10103@kernel.dk> (raw)
In-Reply-To: <x49ljcy9g4t.fsf@segfault.boston.devel.redhat.com>

On Thu, Apr 08 2010, Jeff Moyer wrote:
> Jens Axboe <jens.axboe@oracle.com> writes:
> 
> > Precisely. The next question would be how to control the yielding. In
> > this particular case, you want to be yielding to a specific cfqq. IOW,
> > you essentially want to pass your slide on to that queue. The way the
> > above is implemented, you could easily just switch to another unrelated
> > queue. And if that is done, fairness is skewed without helping the
> > yielding process at all (which was the intention).
> 
> Well, that's true in part.  Prior to this patch, the process would idle,
> keeping all other cfq_queues on the system from making progress.  With
> this patch, at least *somebody* else makes progress, getting you closer
> to running the journal thread that you're blocked on.  Ideally, you'd
> want the thread you're waiting on to get disk time next, sure.  You
> would have to pass the process information down to the I/O scheduler for
> that, and I'm not sure that the file system code knows which process to
> hand off to.  Does it?
> 
> Do we really want to go down this road at all?  I'm not convinced.

Don't get me wrong, neither am I. I'm just thinking out loud and
pondering. As a general mechanism, yield to a specific cfqq is going to
be tricky and doing a generic yield to signal that _someone_ else must
make progress before we can is better than nothing.

Continuing that train of thought, I don't think we'll ever need full
'yield to X' functionality where 'X' is a really specific target. But
for this fsync case, we know at least what we are yielding to and it
seems like a shame to throw away that information. So you could include
a hint of what to yield to, which cfq could factor in.

Dunno, I need to think a bit about the cleanliness of such an approach.
We can definitely use your patch as a starting point.

-- 
Jens Axboe


  reply	other threads:[~2010-04-08 19:23 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-07 21:18 [patch,rfc v2] ext3/4: enhance fsync performance when using cfq Jeff Moyer
2010-04-07 21:46 ` Vivek Goyal
2010-04-08 11:04   ` Jens Axboe
2010-04-08 14:05     ` Vivek Goyal
2010-04-08 14:09       ` Jens Axboe
2010-04-08 14:17         ` Vivek Goyal
2010-04-08 14:24         ` Jeff Moyer
2010-04-08 19:23           ` Jens Axboe [this message]
2010-04-21 20:42         ` Mike Snitzer
2010-04-21 20:42           ` Mike Snitzer
2010-04-21 20:52           ` Jeff Moyer
2010-04-21 20:52             ` Jeff Moyer
2010-04-08 11:00 ` Jens Axboe
2010-04-08 13:59   ` Vivek Goyal
2010-04-08 14:03     ` Jens Axboe
2010-04-08 14:03     ` Jeff Moyer
2010-04-08 14:06       ` Jens Axboe
2010-04-08 14:10       ` Vivek Goyal
2010-04-08 14:25         ` Jeff Moyer
2010-04-08 14:31           ` Vivek Goyal
2010-04-08 19:10   ` Jeff Moyer

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=20100408192336.GV10103@kernel.dk \
    --to=jens.axboe@oracle.com \
    --cc=jmoyer@redhat.com \
    --cc=linux-ext4@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tytso@mit.edu \
    --cc=vgoyal@redhat.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 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.