linux-l: DMA, HDs, Transferraten

Jens Dreger jens.dreger at physik.fu-berlin.de
Mo Jun 5 01:02:25 CEST 2000


On Sun, Jun 04, 2000 at 02:56:33PM +0200, Benedikt Sebastian Garski wrote:
> Hallo Jens und Alexander!
> Danke für die Antworten.  Ich habe jetzt etwas mit dem Prog. hdparm
> rumgespielt. Was für ein geniales Programm! Soviel Möglichkeiten von Einstellungen
> habe ich unter Windows nicht!!  ;-)

Vorsicht, Du kannst Dir auch Aeger einhandeln ;-)
 
> Hier aber erstmal die Werte von hdparm zu meinen Partitionen: 
> hdparm -t /dev/hda
> 
> hda	7.82 Mb/s
> hda1	n.m.		ext2, /boot Warum nicht möglich??
> hda2	7.92 Mb/s	Win95 FAT 32
> hda3	7.96 Mb/s	Win95 FAT 32
> hda4	n.m.		Erweiterte Partition
> hda5	7.16 Mb/s	Win95 FAT 32
> hda6	7.39 Mb/s	Win95 FAT 32
> hda7	7.51 Mb/s	Win95 FAT 32
> hda8	7.53 Mb/s 	Win95 FAT 32
> hda9	7.67 Mb/s	ext2 /
> hda10	8.33 Mb/s	Linux swap
>
> Mann kann erkennen, dass die Werte NICHT am Anfang schnell sind und dann 
> langsamer werden. Inwieweit ist nimmt VFAT Einfluss?

Kein Einfluss. Der hdparm-Benchmark ignoriert das Filesystem. Kannste
auch auf eine unformatierte nagelneue Platte loslassen.
 
> Eher: Mittel, Langsam, Mittel, Schnell

Du hast hier nicht die Plattenperformance gemessen, sondern irgendwas
anderes. Eine IBM DJNA sollte auf den Aussenspuren eher so 15MB/s
schaffen.

Ich schau grad mal rum, Sekunde...

~> cat /proc/ide/hda/model 
IBM-DJNA-351520
~> >for I in 1 2 3 5 6 7 8; do hdparm -t /dev/hda$I; done
/dev/hda1:
 Timing buffered disk reads:  32 MB in  2.17 seconds =14.75 MB/sec
/dev/hda2:
 Timing buffered disk reads:  32 MB in  2.16 seconds =14.81 MB/sec
/dev/hda3:
 Timing buffered disk reads:  32 MB in  2.28 seconds =14.04 MB/sec
/dev/hda5:
 Timing buffered disk reads:  32 MB in  2.43 seconds =13.17 MB/sec
/dev/hda6:
 Timing buffered disk reads:  32 MB in  2.42 seconds =13.22 MB/sec
/dev/hda7:
 Timing buffered disk reads:  32 MB in  2.62 seconds =12.21 MB/sec
/dev/hda8:
 Timing buffered disk reads:  32 MB in  2.85 seconds =11.23 MB/sec

Die Partitionen sind alle ungefaehr gleich gross (nein, das habe
_nicht_ ich so angelegt ;-)

> Nun ist die SWAP ja nicht mit ext2 formatiert, sondern mit irgendwas
> anderem, so das sie generell etwas schneller ist.

Gilt nicht fuer hdparm (s.o.).

> Meine Vermutung ist, dass die Partitionen je nach Festplattencontroller
> anders angelegt werden. Z.B legt der eine die Partitionen nach Zylinder von
> aussen nach innen an, egal wieviele Plattern drin sind. Der andere
> Festplattencontroller handelt die Sache so, dass erst eine Platter "gefüllt* wird und
> dann die nächste?! So könnte meine SWAP vielleicht aussen auf der zweiten
> Platter gelandet sein und somit ist sie schneller??!!

Wie die Daten auf den einzelnen Scheiben innerhalb der Festplatte
verteilt werden, weiss nur die Elektonik auf der Festplatte. Der
Festplattencontroller auf dem Mainboard bekommt irgendwelche logischen
Werte. Die Scheiben muessen auch nicht innen genausoviele Sektoren pro
Spur haben wie aussen, aber davon weiss der Festplattencontroller auf
dem Mainboard nix.

> Meine Festplatte ist eine IBM-DJNA-351520 mit 5400 rpm, 2 MB Cache(?),

Negativ. Die IBM-DJNA-351520 hat 512KB Cache, wovon nochmal die oberen
82KB fuer Firmware draufgehen, bleiben 430KB. Die grossen Brueder
DJNA-352030 und DJNA-352500 haben 2MB.

~> cat /proc/ide/hda/cache
430

Siehe dazu auch:
 http://www.storage.ibm.com/hardsoft/diskdrdl/desk/2522data.htm 

> Was hast du für eine HD Jens, bei dir fallen die Werte ja "extremer" aus?!
> Läuft sie in UDMA ??

Das war nur eine kleine DHEA-36481. Habe gerade keinen Ueberblick, ob
die auf UDMA laeuft... In der Uni habe ich noch zwei IBM, die sagen
z.B.:
root at smart:/home/dreger> hdparm -i /dev/hda

/dev/hda:

 Model=IBM-DTTA-351680, FwRev=T51OA73A, SerialNo=WJ0WKG99577
 Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs }
 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=34
 BuffType=3(DualPortCache), BuffSize=462kB, MaxMultSect=16,
 MultSect=off
 DblWordIO=no, maxPIO=2(fast), DMA=yes, maxDMA=2(fast)
 CurCHS=16383/16/63, CurSects=-66060037, LBA=yes
 LBA CHS=1023/256/63 Remapping, LBA=yes, LBAsects=33022080
 tDMA={min:120,rec:120}, DMA modes: sword0 sword1 sword2 mword0 mword1
 mword2 
 IORDY=on/off, tPIO={min:240,w/IORDY:120}, PIO modes: mode3 mode4 
 UDMA modes: mode0 mode1 *mode2

Also explizit eune Zeile fuer UDMA.

Bei der oben getesteten DJNA bekomme ich:
/dev/hda:

 Model=IBM-DJNA-351520, FwRev=J56OA30K, SerialNo=G80GLWGB
 Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs }
 RawCHS=29795/16/63, TrkSize=0, SectSize=0, ECCbytes=34
 BuffType=3(DualPortCache), BuffSize=430kB, MaxMultSect=16,
 MultSect=off
 DblWordIO=no, maxPIO=2(fast), DMA=yes, maxDMA=2(fast)
 CurCHS=1869/255/63, CurSects=30033360, LBA=yes, LBAsects=30033360
 tDMA={min:120,rec:120}, DMA modes: mword0 mword1 mword2 
 IORDY=on/off, tPIO={min:240,w/IORDY:120}, PIO modes: mode3 mode4 

> Mein PC ist ein PI 166 MMX , AT, EDO-DRAM + ISA Zeug ... er kann kein
> UDMA!

Mainboard ?

> Wie ist das aber mit einem neuen Computer, schliesslich will ich die
> Vorteile von UDMA auch unter Linux haben?????

Das geht, keine Sorge. Aber deshalb einen neuen Rechner zu kaufen ist
wohl Overkill ;-)
 
Gruss,

Jens.

----- End forwarded message -----



Mehr Informationen über die Mailingliste linux-l