Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 8 Oct 1995 00:12:37 +0100
From:      se@zpr.uni-koeln.de (Stefan Esser)
To:        Bruce Evans <bde@zeta.org.au>
Cc:        hackers@freebsd.org
Subject:   Re: VLB Disk Controllers
Message-ID:  <199510072312.AA12195@Sysiphos>
In-Reply-To: Bruce Evans <bde@zeta.org.au> "Re: VLB Disk Controllers" (Oct  8,  8:32)

next in thread | previous in thread | raw e-mail | index | archive | help
On Oct 8,  8:32, Bruce Evans wrote:
} Subject: Re: VLB Disk Controllers
} >} Cheap IDE on 486DX/33 ISA SAMSUNG SHD-3212A (slow disk):
} >} output for disklatency /dev/rwd0:
} >} Command overhead is 573 usec (time_4096 = 2830, time_8192 = 5087)
} >} transfer speed is 1.81489e+06 bytes/sec
} 
} >NCR 53c810 (driven by a 486DX2/66):
} 
} >Command overhead is 751 usec (time_4096 = 1216, time_8192 = 1682)
} >transfer speed is 8.79954e+06 bytes/sec
} 
} >Seems that even at 4KB, the NCR is a lot faster than an IDE controller :)
} 
} But slower than EIDE with fast PIO modes :-).
} 
} >Let's see:
} 
} >IDE: 512/1815890 s + 573 us = 855 us
} >NCR: 512/8799540 s + 751 us = 809 us
} 
} >Seems the NCR is faster on 512 byte transfers.
} 
} Nope, the 573 us is for _8_ transfers of 512 bytes because my drive
} doesn't support multi-mode, and it's on a slower machine :-).  I'm
} surprised that it is as high as 573/8 = 72 us per command.  This is all
} host software (not bus related) overhead except for about 10 usec to
} write the command to the controller.

Don't think so. There are 16 transfers in the 8KB test,
and thus the per sector overhead is in fact accounted
for in the transfer rate !

The 573 is a true per 1 transfer overhead for IDE. (But
is most probably caused by the kernel, not the driver.)

} It sure isn't.  For the Buslogic's command overhead of 4 ms and a drive
} speed of 8MB/sec the transfer size has to be at least 32K just to avoid
} wasting 50% of the time giving commands.  Actual results for the
} Buslogic BT44C on 486DX2/66 VLB QUANTUM XP34301:
} 
} 	Block size	Speed of transfer from inner tracks (av. for 10 sec)
} 	   512		 168550
} 	  1024		 320512
} 	  2048		 630784
} 	  4096		1175142
} 	  8192		2148761
} 	 16384		3106406
} 	 32768		4554752
} 	 65536		5485363
} 	131072		5518131
} 	262144		5557452

This was measured using raw device reads ?

Ok. Using my 2GB Atlas (dd, 30 sec each):

	   512		 811800
	  1024		1324517
	  2048		2097152
	  4096		4194304
	 16384		6068148
	 65536		7281777

(BTW: I've got 1585 transfers/s in the 512 byte test.
That's 630 us per *transfer*. And the startup overhead
can't possibly be higher :)


Seems that 4KB transfers already offer more than 
50% of the maximum data rate ... And 2KB transfers
are already faster than most IDE systems (i.e. 
drive + motherboard) go. I know this will change
when everybody got a Pentium/133 just to have 
faster IDE PIO mode 4 transfers :-)


STefan

-- 
 Stefan Esser, Zentrum fuer Paralleles Rechnen		Tel:	+49 221 4706021
 Universitaet zu Koeln, Weyertal 80, 50931 Koeln	FAX:	+49 221 4705160
 ==============================================================================
 http://www.zpr.uni-koeln.de/staff/esser/esser.html	  <se@ZPR.Uni-Koeln.DE>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199510072312.AA12195>