dm-devel.redhat.com archive mirror
 help / color / mirror / Atom feed
From: Neil Brown <neilb@suse.de>
To: Mikael Abrahamsson <swmike@swm.pp.se>
Cc: Christoph Hellwig <hch@infradead.org>,
	Dominik Brodowski <linux@dominikbrodowski.net>,
	Michael Monnerie <michael.monnerie@is.it-management.at>,
	linux-raid@vger.kernel.org, xfs@oss.sgi.com,
	linux-kernel@vger.kernel.org, dm-devel@redhat.com
Subject: Re: How to track down abysmal performance ata - raid1 - crypto - vg/lv - xfs
Date: Thu, 5 Aug 2010 08:24:38 +1000	[thread overview]
Message-ID: <20100805082438.0b476adb@notabene> (raw)
In-Reply-To: <alpine.DEB.1.10.1008041351100.19930@uplift.swm.pp.se>

On Wed, 4 Aug 2010 13:53:03 +0200 (CEST)
Mikael Abrahamsson <swmike@swm.pp.se> wrote:

> On Wed, 4 Aug 2010, Christoph Hellwig wrote:
> 
> > The good news is that you have it tracked down, the bad news is that I 
> > know very little about dm-crypt.  Maybe the issue is the single threaded 
> > decryption in dm-crypt?  Can you check how much CPU time the dm crypt 
> > kernel thread uses?
> 
> I'm not sure it's that. I have a Core i5 with AES-NI and that didn't 
> significantly increase my overall performance, as it's not there the 
> bottleneck is (at least in my system).
> 
> I earlier sent out an email wondering if someone could shed some light on 
> how scheduling, block caching and read-ahead works together when one does 
> disks->md->crypto->lvm->fs, becase that's a lot of layers and potentially 
> a lot of unneeded buffering, readahead and scheduling magic?
> 

Both page-cache and read-ahead work at the filesystem level, so only the
device in the stack that the filesystem mounts from is relevant for these.
Any read-ahead setting on other devices are ignored.
Other levels only have a cache if they explicitly need one.  e.g. raid5 has a
stripe-cache to allow parity calculations across all blocks in a stripe.

Scheduling can potentially happen at every layer, but it takes very different
forms.  Crypto, lvm, raid0 etc don't do any scheduling - it is just
first-in-first-out.
RAID5 does some scheduling for writes (but not reads) to try to gather full
stripes.  If you write 2 of 3 blocks in a stripe, then 3 of 3 in another
stripe, the 3 of 3 will be processed immediately while the 2 of 3 might be
delayed a little in the hope that the third will arrive.

The sys/block/XXX/queue/scheduler setting only applies at the bottom of the
stack (though when you have dm-multipath it is actually one step above the
bottom).

Hope that helps,
NeilBrown

  parent reply	other threads:[~2010-08-04 22:24 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20100804073546.GA7494@comet.dominikbrodowski.net>
     [not found] ` <20100804085039.GA11671@infradead.org>
     [not found]   ` <20100804091317.GA27779@isilmar-3.linta.de>
     [not found]     ` <20100804092122.GA2998@infradead.org>
     [not found]       ` <201008041116.09822@zmi.at>
2010-08-04 10:25         ` How to track down abysmal performance ata - raid1 - crypto - vg/lv - xfs Dominik Brodowski
2010-08-04 11:18           ` Christoph Hellwig
     [not found]           ` <20100804111803.GA32643@infradead.org>
2010-08-04 11:24             ` Dominik Brodowski
2010-08-04 11:53             ` Mikael Abrahamsson
2010-08-04 12:56               ` Mike Snitzer
2010-08-04 22:24               ` Neil Brown [this message]
2010-08-04 20:33           ` Valdis.Kletnieks
2010-08-05  9:31             ` direct-io regression [Was: How to track down abysmal performance ata - raid1 - crypto - vg/lv - xfs] Dominik Brodowski
2010-08-05 11:32               ` Chris Mason
     [not found]               ` <20100805113240.GA29846@think>
2010-08-05 12:36                 ` Josef Bacik
2010-08-05 15:35                 ` Dominik Brodowski
2010-08-05 15:39                   ` Chris Mason
     [not found]                   ` <20100805153943.GO29846@think>
2010-08-05 15:53                     ` Dominik Brodowski
2010-08-05 16:35                   ` Dominik Brodowski
     [not found]                   ` <20100805163519.GA6604@comet.dominikbrodowski.net>
2010-08-05 20:47                     ` Performance impact of CONFIG_DEBUG? direct-io test case Dominik Brodowski
2010-08-05 20:54                     ` Performance impact of CONFIG_SCHED_MC? " Dominik Brodowski
2010-08-05 18:58                 ` direct-io regression [Was: How to track down abysmal performance ata - raid1 - crypto - vg/lv - xfs] Jeff Moyer
2010-08-05 19:01                   ` Chris Mason

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=20100805082438.0b476adb@notabene \
    --to=neilb@suse.de \
    --cc=dm-devel@redhat.com \
    --cc=hch@infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-raid@vger.kernel.org \
    --cc=linux@dominikbrodowski.net \
    --cc=michael.monnerie@is.it-management.at \
    --cc=swmike@swm.pp.se \
    --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;
as well as URLs for NNTP newsgroup(s).