public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@osdl.org>
To: "Chen, Kenneth W" <kenneth.w.chen@intel.com>
Cc: linux-kernel@vger.kernel.org, axboe@suse.de
Subject: Re: Direct io on block device has performance regression on 2.6.x kernel
Date: Wed, 9 Mar 2005 20:09:36 -0800	[thread overview]
Message-ID: <20050309200936.0b1bea9e.akpm@osdl.org> (raw)
In-Reply-To: <200503100347.j2A3lRg28975@unix-os.sc.intel.com>

"Chen, Kenneth W" <kenneth.w.chen@intel.com> wrote:
>
> Andrew Morton wrote Wednesday, March 09, 2005 6:26 PM
> > What does "1/3 of the total benchmark performance regression" mean?  One
> > third of 0.1% isn't very impressive.  You haven't told us anything at all
> > about the magnitude of this regression.
> 
> 2.6.9 kernel is 6% slower compare to distributor's 2.4 kernel (RHEL3).  Roughly
> 2% came from storage driver (I'm not allowed to say anything beyond that, there
> is a fix though).

The codepaths are indeed longer in 2.6.

> 2% came from DIO.

hm, that's not a lot.

Once you redo that patch to use aops and to work with O_DIRECT, the paths
will get a little deeper, but not much.  We really should do this so that
O_DIRECT works, and in case someone has gone and mmapped the blockdev.

Fine-grained alignment is probably too hard, and it should fall back to
__blockdev_direct_IO().

Does it do the right thing with a request which is non-page-aligned, but
512-byte aligned?

readv and writev?

2% is pretty thin :(

> The rest of 2% is still unaccounted for.  We don't know where.

General cache replacement, perhaps.  9MB is a big cache though.

> ...
> Around 2.6.5, we found global plug list is causing huge lock contention on
> 32-way numa box.  That got fixed in 2.6.7.  Then comes 2.6.8 which took a big
> dip at close to 20% regression.  Then we fixed 17% regression in the scheduler
> (fixed with cache_decay_tick).  2.6.9 is the last one we measured and it is 6%
> slower.  It's a constant moving target, a wild goose to chase.
> 

OK.  Seems that the 2.4 O(1) scheduler got it right for that machine.

> haven't got a chance to run transaction processing db workload on 2.6 kernel.
> Perhaps they have not compared, perhaps they are working on the same problem.
> I just don't know.

Maybe there are other factors which drown these little things out:
architecture improvements, choice of architecture, driver changes, etc.


  parent reply	other threads:[~2005-03-10  4:14 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-03-09  1:39 Direct io on block device has performance regression on 2.6.x kernel Chen, Kenneth W
2005-03-09  6:27 ` Andrew Morton
2005-03-09 17:21   ` Chen, Kenneth W
2005-03-09 20:04     ` Andrew Morton
2005-03-09 21:59       ` Chen, Kenneth W
2005-03-09 22:44         ` Andrew Morton
2005-03-10  1:11           ` Chen, Kenneth W
2005-03-10  1:33             ` Andrew Morton
2005-03-10  1:44               ` Chen, Kenneth W
2005-03-10  2:25     ` Andrew Morton
2005-03-10  3:47       ` Chen, Kenneth W
2005-03-10  4:04         ` David Lang
2005-03-10  4:10           ` Andrew Morton
2005-03-10  4:15             ` Direct io on block device has performance regression on 2.6.xkernel David Lang
2005-03-10  4:09         ` Andrew Morton [this message]
2005-03-10 18:31           ` Direct io on block device has performance regression on 2.6.x kernel Chen, Kenneth W
2005-03-10 20:30             ` Andrew Morton
2005-03-10 21:42               ` Chen, Kenneth W
2005-03-10 22:01                 ` Andrew Morton
2005-03-10  4:28         ` Andrew Vasquez
  -- strict thread matches above, loose matches on Subject: below --
2005-03-09  1:53 Chen, Kenneth W
2005-03-09 22:18 Chen, Kenneth W
2005-03-09 23:23 ` Andi Kleen
2005-03-09 23:52   ` Jesse Barnes
2005-03-09 23:52   ` Jesse Barnes
2005-03-10  1:00     ` Chen, Kenneth W
2005-03-10  0:57   ` Chen, Kenneth W
2005-03-10  1:24 Chen, Kenneth W
2005-03-10  2:04 Chen, Kenneth W

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=20050309200936.0b1bea9e.akpm@osdl.org \
    --to=akpm@osdl.org \
    --cc=axboe@suse.de \
    --cc=kenneth.w.chen@intel.com \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox