Subject: Re: Debian ports for RiscPC, ARM710, etc.

From: Russell King <[email-masked]>
Date: Thu, 1 Oct 1998 09:01:57 +0100 (BST)

Philip Blundell said:
> >Ok, after setting the PCI Latency timers to something sensible (32), I'm still
> >getting around 1.4MB/s.  There is the little matter of one of Phil's comments
> >lying around in the sources:
> >
> >        /* Nobody could say these are optimal, but not to worry. */
> >
> >Hmm, maybe I ought to optimise them then...
> 
> Having looked at the code again, although there certainly is some scope for 
> improvement I don't think this is likely to be the direct cause of your 
> problem.  My guess would be that the (presumably uncached) external I/O access 
> will dominate the time taken for the transfer.  For routines like insw it 
> really is important that those accesses happen 16 bits at a time so you can't 
> use multiple-register load instructions either.

Well, optimising insw made things worse - I think that there is no point in
optimising these routines because it appears that the transfer time is not
limited by the processor, but more the PCI bus itself...
--
Russell King ([email-masked])

unsubscribe: body of `unsubscribe linux-arm' to [email-masked]

---

From: Russell King - ARM Linux Admin <[email-masked]>
Date: Thu, 1 Oct 1998 23:29:23 +0100 (BST)

Philip Blundell writes:
> >From your hdparm settings it looks like you don't have 32-bit I/O enabled -- 
> that would probably be quite a win as it will halve the number of these slow 
> bus transactions.  That also has the advantage that you get to use the 
> (apparently better optimised) insl rather than the slow insw.

Hmm, very interesting.  With 32-bit I/O on, I'm still getting 1.42MB/sec off
the drive instead of 1.21 without.  You don't suppose that the drive is not
capable of any faster transfer rate than this, do you?  It is after all the
original one Acorn shipped with their RiscPC/700 1GB HD systems...

> You might also try turning on multiple-sector mode which also seems to be 
> currently off.

It is on already on the EBSA-285, but not the RiscPC ;)

I think tomorrow night I'll fix the IDE driver wrt DMA cache flushing, and
then move my (backed u p) UDMA drive into the interface and see what happens.
Never know - it may fly with that drive.

As a matter of interest, the Netwinder produces:

/dev/hda:

 Model=TOSHIBA MK2101MAN, FwRev=B1.04 A, SerialNo=96B40903
 Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }
 RawCHS=4200/16/63, TrkSize=40257, SectSize=639, ECCbytes=21
 BuffType=3(DualPortCache), BuffSize=128KB, MaxMultSect=16, MultSect=8
 DblWordIO=no, maxPIO=2(fast), DMA=yes, maxDMA=2(fast)
 CurCHS=4200/16/63, CurSects=4233600, LBA=yes, LBAsects=4233600
 tDMA={min:120,rec:120}, DMA modes: sword0 sword1 sword2 mword0 mword1 *mword2
 IORDY=on/off, tPIO={min:120,w/IORDY:120}, PIO modes: mode3 mode4

 Timing buffer-cache reads:   32 MB in  0.63 seconds =50.79 MB/sec
 Timing buffered disk reads:  16 MB in  4.72 seconds = 3.39 MB/sec
 Estimating raw driver speed: 16 MB in  4.40 seconds = 3.63 MB/sec

(PS, this is apparantly using DMA, mword 2 but to me it still looks rather
poor).

Ok, time to try out some timing tests at work and see what various PCs
produce...
   _____
  |_____| ------------------------------------------------- ---+---+-
  |   |        Russell King       [email-masked]      --- ---
  | | | |  http://www.arm.uk.linux.org/~rmk/armlinux.html    /  /  |
  | +-+-+                                                     --- -+-
  /   |               THE developer of ARM Linux              |+| /|\
 /  | | |                                                     ---  |
    +-+-+ -------------------------------------------------  /\\\  |
unsubscribe: body of `unsubscribe linux-arm' to [email-masked]

---

From: Philip Blundell <[email-masked]>
Date: Fri, 02 Oct 1998 10:06:21 +0100

>original one Acorn shipped with their RiscPC/700 1GB HD systems...

It's certainly possible - but I'd be surprised.

>It is on already on the EBSA-285, but not the RiscPC ;)

Oops.

p.

---

From: Russell King <[email-masked]>
Date: Fri, 2 Oct 1998 15:00:53 +0100 (BST)

> It's certainly possible - but I'd be surprised.

Ok, I've done my tests here on a Cyrix 166MHz with a i82371 Triton PCI IDE i/f,
running both the UDMA Seagate and the Conner.  The results I get are:

Seagate: 1.72MB/s PIO, ~7MB/s DMA
Conner : 3.33MB/s PIO

--
Russell King ([email-masked])
Millbank Electronics Tel: 01825 764811 Fax: 01825 761620

---

From: Philip Blundell <[email-masked]>
Date: Fri, 02 Oct 1998 16:23:29 +0100

>Ok, I've done my tests here on a Cyrix 166MHz with a i82371 Triton PCI IDE 
>i/f, running both the UDMA Seagate and the Conner.  The results I get are:
>

Thanks for that.  It's certainly interesting news.  Looks like implementing 
DMA really is a big win for some drives though I've no idea why.

p.