Subject: ccd vs. raidframe performance [was Re: ccd/SCSI error]
To: Justin T. Gibbs <gibbs@caspian.plutotech.com>
From: Erik Rungi <blackbox@openface.ca>
List: port-i386
Date: 06/28/1999 17:00:29
So, like, the data was lost, for sure then, right?

Oog.  If this happens again I'm replacing the drive.  Its brand new, but I
can't afford to have data corruption.

By the way, I remember an earlier discussion on this list about CCD
performance vs. raidframe..

I did some testing with bonnie.

I decided to go with CCD instead of RaidFRAME because of:
 - performance numbers are better with CCD (see below)
 - CCD kernel is 275k smaller than raidframe kernel
 - CCD has been around longer (more stable?)

I'm curious as to whether I'd get better performance on my 3 drive setup if
all three drives were identical.

Here are my numbers:

              -------Sequential Output-------- ---Sequential Input-- --Random--
              -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks---
Machine    MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU  /sec %CPU
raid 3d  1024  4161 52.3  7243 18.6  5257 28.6  6709 98.5 22017 86.0 115.7 7.3
raid 2d  1024  4313 52.7  6069 14.5  4746 21.9  6853 98.2 22192 84.9 109.6 6.3
ccd 3d   1024  8098 99.0 12413 34.1  7437 32.2  7163 99.4 25049 85.3 133.2 4.9
ccd 2d   1024  8113 98.8  8382 18.7  5455 22.4  7173 99.3 24776 83.0 119.1 4.3


The configuration was a Pentium 200, 128MB ram, with Adaptec 2940UW
controller. NetBSD 1.4 custom kernel.  The machine was in single user mode and
the tests were done on newly newfs'd partitions.  stripe components all have
the same disklabel geometry and size.

ahc0 at pci0 dev 12 function 0
ahc0: interrupting at irq 11
ahc0: aic7880 Wide Channel, SCSI Id=7, 16 SCBs
scsibus0 at ahc0 channel 0: 16 targets, 8 luns per target

3 drive configuration (3d):
sd0 at scsibus0 targ 0 lun 0: <SEAGATE, ST34501W, 0018> SCSI2 0/direct fixed
sd0: 4339MB, 6576 cyl, 8 head, 168 sec, 512 bytes/sect x 8887200 sectors
sd1 at scsibus0 targ 1 lun 0: <SEAGATE, ST34501W, 0018> SCSI2 0/direct fixed
sd1: 4339MB, 6576 cyl, 8 head, 168 sec, 512 bytes/sect x 8887200 sectors
sd2 at scsibus0 targ 2 lun 0: <SEAGATE, ST34502LW, 0005> SCSI2 0/direct fixed
sd2: 4340MB, 6962 cyl, 6 head, 212 sec, 512 bytes/sect x 8888924 sectors

Both RaidFrame and CCD interleave was 168.

Erik

On Mon, 28 Jun 1999, Justin T. Gibbs wrote:

> > > Can anyone enlighten me as to what this means:
> > > 
> > > sd2(ahc0:2:0):  DEFERRED ERROR, key = 0x4
> 		    ^^^^^^^^^^^^^^
> 
> >The CCD failed to write the data, because the underlying disk failed to
> >write the data; if the error is recovered from, EIO isn't (supposed to be)
> >returned.
> 
> Unfortunately, CCD found out about the error too late.  This was a deferred
> error, so the original write was reported as successfully completed to CCD
> before it actually hit the media.  It is hard to say what the correct
> way to deal with deferred errors is (the original client of the write could
> be gone now).