All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jens Axboe <jens.axboe@oracle.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Arjan van de Ven <arjan@infradead.org>,
	linux-kernel@vger.kernel.org, Alan Cox <alan@lxorguk.ukuu.org.uk>
Subject: Re: [PATCH] Give kjournald a IOPRIO_CLASS_RT io priority
Date: Thu, 2 Oct 2008 09:45:24 +0200	[thread overview]
Message-ID: <20081002074523.GW19428@kernel.dk> (raw)
In-Reply-To: <20081001235501.2b7f50fe.akpm@linux-foundation.org>

On Wed, Oct 01 2008, Andrew Morton wrote:
> On Thu, 2 Oct 2008 08:27:37 +0200 Jens Axboe <jens.axboe@oracle.com> wrote:
> 
> > On Wed, Oct 01 2008, Andrew Morton wrote:
> > > On Wed, 1 Oct 2008 20:00:34 -0700 Arjan van de Ven <arjan@infradead.org> wrote:
> > > 
> > > > Subject: [PATCH] Give kjournald a IOPRIO_CLASS_RT io priority
> > > 
> > > You proposed this a while back and it didn't happen and I forget
> > > why and the changelog doesn't mention any of that?
> > 
> > I think you called for benchmark results, which I don't think happened.
> > The patch definitely makes sense, so we should just make sure that we
> > don't regress elsewhere. Honestly, I'd be surprised if we did...
> 
> Now I think about it, didn't the earlier patch tweak CPU priority and
> not IO priority?  I forget.  <kicks the changelog again>
> 
> > How about I just toss it into the 2.6.28 testing mix, plenty of time for
> > testing and such?
> 
> Many performance regressions don't get noticed for six or twelve
> months, by which time everyone is suffering from them (see
> kernel/sched.c).
> 
> kjournald does huge amounts of not-terribly-important writeback.  One
> obvious risk is that by making all that bulk writeback high-priority,
> read-latency-sensitive applications might suffer latency spikes.
> 
> 
> 
> Now, kjournald is _supposed_ to be mostly asynchronous wrt foreground
> operations.  And once upon a time (seven years ago) it mostly was.  But
> there was some horrid race which I ended up fixing by introducing one
> point where synchronous userspace actions had to block behind kjournald
> activity.  I spent quite some time on it but couldn't come up with
> anything better.  It had fairly bad effects on some workloads.
> 
> I've forgotten where that code is now, but I don't think it was ever
> revisited.  It should be.
> 
> So.  Where are these atime updaters getting blocked?

Behind other IO activity I suppose, since it's marked async. A more
appropriate fix may be to mark atime updates as sync IO.

Once upon a time I actually did start xxxing meta data IO from the file
system, in ext3. That was mainly for blktrace so we could inspect what
data was what at the trace end, but if we had full coverage (or better,
at least), we could use that to bump priority as well. Probably the
priority should be left at the default, but the IO should be upgraded to
SYNC instead. That'll ensure that it goes out fairly quickly (like other
IO at the same class), but not get preferential treatment apart from
that. Seems like the right thing to do.

-- 
Jens Axboe


  reply	other threads:[~2008-10-02  7:46 UTC|newest]

Thread overview: 76+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-10-02  3:00 [PATCH] Give kjournald a IOPRIO_CLASS_RT io priority Arjan van de Ven
2008-10-02  4:56 ` Andrew Morton
2008-10-02  6:27   ` Jens Axboe
2008-10-02  6:55     ` Andrew Morton
2008-10-02  7:45       ` Jens Axboe [this message]
2008-10-02  8:03         ` Andrew Morton
2008-10-02  8:22           ` Jens Axboe
2008-10-02  8:43             ` Andrew Morton
2008-10-02  8:46               ` Jens Axboe
2008-10-02 12:04           ` Theodore Tso
2008-10-02 13:16             ` Arjan van de Ven
2008-10-02 13:46               ` Theodore Tso
2008-10-02 14:33                 ` Arjan van de Ven
2008-10-04 14:12                   ` Theodore Tso
2008-10-04 17:14                     ` Joseph Fannin
2008-10-04 21:27                       ` Theodore Tso
2008-10-02 13:12       ` Arjan van de Ven
2008-10-02 20:24         ` Andrew Morton
2008-10-03  4:01           ` Arjan van de Ven
2008-10-03  4:23             ` Arjan van de Ven
2008-10-03  4:40               ` Andrew Morton
2008-10-03  4:43                 ` Arjan van de Ven
2008-10-03  4:50                   ` Andrew Morton
2008-10-03  5:00                     ` Arjan van de Ven
2008-10-03  5:24                       ` Andrew Morton
2008-10-03 17:21                         ` Arjan van de Ven
2008-10-09  3:00                         ` Theodore Tso
2008-10-09  3:38                           ` Andrew Morton
2008-10-03  4:45                 ` Arjan van de Ven
2008-10-02  6:57   ` Andi Kleen
2008-10-02  7:55     ` Jens Axboe
2008-10-02  9:33       ` Dave Chinner
2008-10-02  9:45         ` Jens Axboe
2008-10-02 13:14           ` Arjan van de Ven
2008-10-02 13:27             ` Jens Axboe
2008-10-02 13:36               ` Arjan van de Ven
2008-10-02 13:47                 ` Jens Axboe
2008-10-02 14:26                   ` Arjan van de Ven
2008-10-02 16:42                     ` Jens Axboe
2008-10-02 19:04           ` Arjan van de Ven
2008-10-02 19:22             ` Jens Axboe
2008-10-02 21:37               ` Andrew Morton
2008-10-02 23:58                 ` Dave Chinner
2008-10-03  0:06                   ` Andrew Morton
2008-10-03  0:20                     ` Andrew Morton
2008-10-02 13:05   ` Arjan van de Ven
2008-10-02 17:11     ` Jens Axboe
     [not found] <bimJN-4cO-5@gated-at.bofh.it>
     [not found] ` <biosl-6bq-9@gated-at.bofh.it>
     [not found]   ` <biqkw-aK-3@gated-at.bofh.it>
     [not found]     ` <birgx-1pQ-9@gated-at.bofh.it>
     [not found]       ` <bisPe-3xx-9@gated-at.bofh.it>
     [not found]         ` <bisYW-3HQ-13@gated-at.bofh.it>
2008-10-02 15:32           ` Bodo Eggert
2008-10-02 23:34             ` Dave Chinner
2008-10-04  7:45               ` Aaron Carroll
2008-10-06  3:18                 ` Dave Chinner
2008-10-07 18:06                   ` Jens Axboe
2008-10-07 22:22                     ` Dave Chinner
2008-10-09  8:48                       ` Jens Axboe
  -- strict thread matches above, loose matches on Subject: below --
2007-10-15 17:46 [patch] " Arjan van de Ven
2007-10-15 18:47 ` Andrew Morton
2007-10-15 19:28   ` Jens Axboe
2007-10-22  9:10     ` Ingo Molnar
2007-10-22  9:23       ` Andrew Morton
2007-10-22  9:27         ` Ingo Molnar
2007-10-22  9:40         ` Ingo Molnar
2007-10-22  9:49           ` Andrew Morton
2007-10-15 20:13   ` Rik van Riel
2007-10-15 21:12     ` Andrew Morton
     [not found]       ` <473B18BA.5000709@hp.com>
2007-11-14 17:14         ` Andrew Morton
2007-11-14 17:18           ` Ingo Molnar
2007-11-14 17:51             ` Arjan van de Ven
2007-11-14 18:55               ` Ingo Molnar
2007-11-14 19:43               ` Alan D. Brunelle
2007-11-14 19:24           ` Alan D. Brunelle
2007-11-14 19:50             ` Arjan van de Ven
2007-11-14 19:56             ` Alan D. Brunelle
2007-11-16 16:25           ` Alan D. Brunelle
2007-11-16 16:40             ` Alan D. Brunelle
2007-11-16 18:35             ` Ray Lee
2007-11-16 18:39               ` Alan D. Brunelle

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=20081002074523.GW19428@kernel.dk \
    --to=jens.axboe@oracle.com \
    --cc=akpm@linux-foundation.org \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=arjan@infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    /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.