linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Raid5 reads and cpu
@ 2006-08-28 18:33 Rob Bray
  2006-09-04 17:09 ` Bill Davidsen
  0 siblings, 1 reply; 6+ messages in thread
From: Rob Bray @ 2006-08-28 18:33 UTC (permalink / raw)
  To: linux-raid

This might be a dumb question, but what causes md to use a large amount of
cpu resources when reading a large amount of data from a raid1 array?
Examples are on a 2.4GHz AMD64, 2GB, 2.6.15.1 (I realize there are md
enhancements to later versions; I had some other unrelated issues and
rolled back to one I've run on for several months).

A given 7-disk raid0 array can read 450MB/s (using cat > null) and use
virtually no CPU resources. (Although cat and kswapd use quite a bit [60%]
munching on the data)

A raid5 array on the same drive set pulls in at 250MB/s, but md uses
roughly 50% of the CPU (the other 50% is spent dealing with the data,
saturating the processor).

A consistency check on the raid5 array uses roughly 3% of the cpu. It is
otherwise ~97% idle.
md11 : active raid5 sdi2[5] sdh2[4] sdf2[3] sde2[2] sdd2[1] sdc2[6] sdb2[0]
      248974848 blocks level 5, 256k chunk, algorithm 2 [7/7] [UUUUUUU]
      [==============>......]  resync = 72.2% (29976960/41495808)
finish=3.7min speed=51460K/sec
(~350MB/s aggregate throughput, 50MB/s on each device)

Just a friendly question as to why CPU utilization is significantly
different between a check and a real-world read on raid5? I feel like if
there was vm overhead getting the data into userland, the slowdown would
be present in raid0 as well. I assume parity calculations aren't done on a
read of the array, which leaves me at my question.

Thanks,
Rob


^ permalink raw reply	[flat|nested] 6+ messages in thread
* Raid5 reads and cpu
@ 2006-08-28 18:33 Rob Bray
  2006-09-04  6:08 ` Neil Brown
  0 siblings, 1 reply; 6+ messages in thread
From: Rob Bray @ 2006-08-28 18:33 UTC (permalink / raw)
  To: linux-raid

This might be a dumb question, but what causes md to use a large amount of
cpu resources when reading a large amount of data from a raid1 array?
Examples are on a 2.4GHz AMD64, 2GB, 2.6.15.1 (I realize there are md
enhancements to later versions; I had some other unrelated issues and
rolled back to one I've run on for several months).

A given 7-disk raid0 array can read 450MB/s (using cat > null) and use
virtually no CPU resources. (Although cat and kswapd use quite a bit [60%]
munching on the data)

A raid5 array on the same drive set pulls in at 250MB/s, but md uses
roughly 50% of the CPU (the other 50% is spent dealing with the data,
saturating the processor).

A consistency check on the raid5 array uses roughly 3% of the cpu. It is
otherwise ~97% idle.
md11 : active raid5 sdi2[5] sdh2[4] sdf2[3] sde2[2] sdd2[1] sdc2[6] sdb2[0]
      248974848 blocks level 5, 256k chunk, algorithm 2 [7/7] [UUUUUUU]
      [==============>......]  resync = 72.2% (29976960/41495808)
finish=3.7min speed=51460K/sec
(~350MB/s aggregate throughput, 50MB/s on each device)

Just a friendly question as to why CPU utilization is significantly
different between a check and a real-world read on raid5? I feel like if
there was vm overhead getting the data into userland, the slowdown would
be present in raid0 as well. I assume parity calculations aren't done on a
read of the array, which leaves me at my question.

Thanks,
Rob


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2006-09-07 20:53 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-08-28 18:33 Raid5 reads and cpu Rob Bray
2006-09-04 17:09 ` Bill Davidsen
2006-09-07 20:53   ` Rob Bray
  -- strict thread matches above, loose matches on Subject: below --
2006-08-28 18:33 Rob Bray
2006-09-04  6:08 ` Neil Brown
2006-09-07 20:47   ` Rob Bray

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).