public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Jens Axboe <jens.axboe@oracle.com>
To: Matthew <jackdachef@gmail.com>
Cc: Kasper Sandberg <lkml@metanurb.dk>,
	Daniel J Blueman <daniel.blueman@gmail.com>,
	Linux Kernel <linux-kernel@vger.kernel.org>
Subject: Re: performance "regression" in cfq compared to anticipatory, deadline and noop
Date: Tue, 13 May 2008 20:03:36 +0200	[thread overview]
Message-ID: <20080513180334.GS16217@kernel.dk> (raw)
In-Reply-To: <e85b9d30805130842p3a34305l4ab1e7926e4b0dba@mail.gmail.com>

On Tue, May 13 2008, Matthew wrote:
> On Tue, May 13, 2008 at 3:05 PM, Jens Axboe <jens.axboe@oracle.com> wrote:
> >
> > On Tue, May 13 2008, Matthew wrote:
> >  > On Tue, May 13, 2008 at 2:20 PM, Jens Axboe <jens.axboe@oracle.com> wrote:
> >  > >
> >  > > On Sun, May 11 2008, Kasper Sandberg wrote:
> >  > >  > On Sun, 2008-05-11 at 14:14 +0100, Daniel J Blueman wrote:
> >  > >  > > I've been experiencing this for a while also; an almost 50% regression
> >  > >  > > is seen for single-process reads (ie sync) if slice_idle is 1ms or
> >  > >  > > more (eg default of 8) [1], which seems phenomenal.
> >  > >  > >
> >  > >  > > Jens, is this the expected price to pay for optimal busy-spindle
> >  > >  > > scheduling, a design issue, bug or am I missing something totally?
> >  > >  > >
> >  > >  > > Thanks,
> >  > >  > >   Daniel
> >  > [snip]
> >  > ...
> >  > [snip]
> >  > >  >
> [snip]
> 
> ...
> 
> [snip]
> >  > well - back to topic:
> >  >
> >  > for a blktrace one need to enable  CONFIG_BLK_DEV_IO_TRACE , right ?
> >  > blktrace can be obtained from your git-repo ?
> >
> >  Yes on both accounts, or just grab a blktrace snapshot from:
> >
> >  http://brick.kernel.dk/snaps/blktrace-git-latest.tar.gz
> >
> >  if you don't use git.
> >
> >  --
> >  Jens Axboe
> >
> >
> 
> unfortunately that snapshot wouldn't compile for me because of an error,
> I used the in-tree provided snapshot from portage: 0.0.20071210202527
> I hope that's ok, too;

That's fine, it doesn't really matter. But I'd appreciate if you sent me
the compile error in private, so that I can fix it :-)

> attached you'll fine the btrace (2 files) as a tar.bz2 package
> 
> from cfq
> 
> here the corresponding hdparm-output:
> hdparm -t /dev/sdd
> 
> /dev/sdd:
>  Timing buffered disk reads:  152 MB in  3.02 seconds =  50.38 MB/sec
> 
> blktrace /dev/sdd
> Device: /dev/sdd
>   CPU  0:                    0 events,     4136 KiB data
>   CPU  1:                    0 events,       11 KiB data
>   Total:                     0 events (dropped 0),     4146 KiB data
> 
> and the corresponding output of anticipatory and attached the btrace of it:
> 
> hdparm -t /dev/sdd
> 
> /dev/sdd:
>  Timing buffered disk reads:  310 MB in  3.02 seconds = 102.76 MB/sec
> 
> blktrace /dev/sdd
> Device: /dev/sdd
>   CPU  0:                    0 events,     7831 KiB data
>   CPU  1:                    0 events,      132 KiB data
>   Total:                     0 events (dropped 0),     7962 KiB data

They seem to start out the same, but then CFQ gets interrupted by a
timer unplug (which is also odd) and after that the request size drops.
On most devices you don't notice, but some are fairly picky about
request sizes. The end result is that CFQ has an average dispatch
request size of 142kb, where AS is more than double that at 306kb. I'll
need to analyze the data and look at the code a bit more to see WHY this
happens.

-- 
Jens Axboe


  parent reply	other threads:[~2008-05-13 18:03 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-05-11 13:14 performance "regression" in cfq compared to anticipatory, deadline and noop Daniel J Blueman
2008-05-11 14:02 ` Kasper Sandberg
2008-05-13 12:20   ` Jens Axboe
2008-05-13 12:58     ` Matthew
2008-05-13 13:05       ` Jens Axboe
     [not found]         ` <e85b9d30805130842p3a34305l4ab1e7926e4b0dba@mail.gmail.com>
2008-05-13 18:03           ` Jens Axboe [this message]
2008-05-13 18:40             ` Jens Axboe
2008-05-13 19:23               ` Matthew
2008-05-13 19:30                 ` Jens Axboe
2008-05-14  8:05               ` Daniel J Blueman
2008-05-14  8:26                 ` Jens Axboe
2008-05-14 20:52                   ` Daniel J Blueman
2008-05-14 21:37                     ` Matthew
2008-05-15  7:01                       ` Jens Axboe
2008-05-15 12:21                         ` Fabio Checconi
2008-05-16  6:40                           ` Jens Axboe
2008-05-16  7:46                             ` Fabio Checconi
2008-05-16  7:49                               ` Jens Axboe
2008-05-16  7:57                                 ` Jens Axboe
2008-05-16  8:53                                   ` Daniel J Blueman
2008-05-16  8:57                                     ` Jens Axboe
2008-05-16 15:23                                       ` Matthew
2008-05-16 18:39                                         ` Fabio Checconi
2008-08-24 20:24                           ` Daniel J Blueman
2008-08-25 20:29                             ` Fabio Checconi
2008-08-25 15:39                               ` Daniel J Blueman
2008-08-25 17:06                                 ` Fabio Checconi
2008-12-09 15:14                                   ` Daniel J Blueman
     [not found]                   ` <e85b9d30805140332r3311b2d6r6831d37421ced757@mail.gmail.com>
     [not found]                     ` <e85b9d30805140334q69cb5eacued9a719414e73d53@mail.gmail.com>
     [not found]                       ` <20080514103956.GD16217@kernel.dk>
     [not found]                         ` <e85b9d30805141239g5df9abc6i666b1f621d632b44@mail.gmail.com>
     [not found]                           ` <e85b9d30805161549o7c8f065do24b6567e2ade0afa@mail.gmail.com>
2008-05-19 10:39                             ` Matthew
2008-05-13 13:51     ` Kasper Sandberg
2008-05-14  0:33       ` Kasper Sandberg
  -- strict thread matches above, loose matches on Subject: below --
2008-05-10 19:18 Matthew
     [not found] ` <20080510200053.GA78555@gandalf.sssup.it>
2008-05-10 20:39   ` Matthew
2008-05-10 21:56     ` Fabio Checconi
2008-05-11  0:00     ` Aaron Carroll

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=20080513180334.GS16217@kernel.dk \
    --to=jens.axboe@oracle.com \
    --cc=daniel.blueman@gmail.com \
    --cc=jackdachef@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lkml@metanurb.dk \
    /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