On 21.Feb 2003 - 01:07:46, Jan Schulz wrote:
> Hallo Eduard,
> 
> * Eduard Bloch wrote:
> >Lies README.ATAPI nochmal.
> 
> Danke f�r den Tipp :) beim lesen hab ich das hier gefunden:
> 
> | All Linux ATAPI transport implementations do not support DMA.
> | Current execptions are:
> | - ide-scsi with block size 2048 and if DMA has been enabled
> 
> Ich muss leider zugeben, das ich hier nur bahnhof verstehe.
> Wenn ich versuche von meinem CDRom auf den Brenner zu 'kopieren', 
> dann steht hier mein System (maus reagiert jede Minute einmal...) 
> was anscheined ja mit diesem DMA zusammenh�ngt.

Ja und nein, im Prinzip hast du solche Probleme wenn eines der Ger�te im
PIO-Modus arbeitet, bei dem der ganze Datenstrom durch den Prozessor
muss!

> Brenner und CDROM sind �ber ide-scsi eingebunden und h�ngen an 
> getrennten Controlern (CDROM ist hdb, brenner hdc. HD ist an einem 
> promise Controler als hde eingebunden). Der Brenner ist ein 
> Liteon LTR-12101b.

Also isch hab hier denselben Brenner und DMA einschalten geht bei mir
�berhaupt net, dann h�ngt sich der Kernel regelm��ig auf. Ich meine
damit das DMA vom Kernel, nicht das vom CD-Brenner. Liegt wohl am
SCSI-IDE Emulatortreiber des Kernels, der ist wohl nicht das Gelbe vom
Ei. Ich habe ebenfalls CDROM und Brenner an verschiedenen
IDE-Anschl�ssen (nicht Controllern, da nur einer auf dem Board) so wie
du ja wohl auch. Ich w�rde ja darauf tippen, dass dein CDROM kein DMA an
hat, zumindestens produziert der Brenner hier bei mir beim Brennen von
Platte aus keine 100% CPU Last.

> Nun die Frage: Wie bekomme ich raus bzw wie setze ich diese 'block 
> size 2048'. So weit ich das mitbekommen habe kann man DMA �ber 
> hdparm einschalten. So wie ich das sehe ist das auch schon an, 
> oder?
> 
> jan@snoopy:~$ hdparm -i /dev/hdc
> /dev/hdc:
>  Model=LITE-ON LTR-12101B, FwRev=LKU6, SerialNo=
>  Config={ Fixed Removeable DTR<=5Mbs DTR>10Mbs nonMagnetic }
>  RawCHS=0/0/0, TrkSize=0, SectSize=0, ECCbytes=0
>  BuffType=unknown, BuffSize=1024kB, MaxMultSect=0
>  (maybe): CurCHS=0/0/0, CurSects=0, LBA=yes, LBAsects=0
>  IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
>  PIO modes: pio0 pio1 pio2 pio3 pio4
>  DMA modes: sdma0 sdma1 sdma2 mdma0 mdma1 *mdma2
>  AdvancedPM=no

Interessanter w�re die Ausgabe von hdparm -v /dev/hd(b,c), also die
eingeschalteten Optionen f�r CDROM und LiteOn CDBrenner. Wie du siehst,
macht das LiteOn selbst eh MultiMode DMA (Frag mich jetzt bitte nicht,
was das ist das wei� ich nicht, nur ist es kein UDMA). Aber ob der
Kernel das auch an hat ist daraus nicht zu ersehen (der 2.4.18-bf24
machts glaub ich aus).

> Ist da jetzt schon die block size enthalten oder kann man das 
> wirklich irgendwo setzen? Bislang reicht mir das brennen so noch 
> vollkommen, aber mich w�rde echt interessiern, ob es auch so nett 
> im Hintergrund geht, wie unter Windows...

Habs grad mal getestet und hier gehts halbwegs im Hintergrund, 
sprich das Lesen von CD belastet das System etwas und hin und wieder
hakt die Maus, allerdings l�uft hier auch KDE3.1, apache, cups, pdnsd,
xmms spielt, ... und der Brenner brennt ohne Realtime scheduling, da als
normaler User gestartet. 
Hier mal die Ausgabe der Ger�te lt. hdparm:

| hdparm -vi /dev/hdb:
| /dev/hdb:
|  HDIO_GET_MULTCOUNT failed: Input/output error
|  I/O support  =  0 (default 16-bit)
|  unmaskirq    =  0 (off)
|  using_dma    =  1 (on)
|  keepsettings =  0 (off)
|  HDIO_GET_NOWERR failed: Input/output error
|  readonly     =  0 (off)
|  BLKRAGET failed: Input/output error
|  HDIO_GETGEO failed: Invalid argument
| 
|  Model=FX4820T, FwRev=D03D, SerialNo=
|  Config={ Fixed Removeable DTR<=5Mbs DTR>10Mbs nonMagnetic }
|  RawCHS=0/0/0, TrkSize=0, SectSize=0, ECCbytes=0
|  BuffType=unknown, BuffSize=128kB, MaxMultSect=0
|  (maybe): CurCHS=0/0/0, CurSects=0, LBA=yes, LBAsects=0
|  IORDY=on/off, tPIO={min:120,w/IORDY:120},
|  tDMA={min:120,rec:120}
|  PIO modes: pio0 pio1 pio2 pio3 pio4
|  DMA modes: sdma0 sdma1 sdma2 mdma0 mdma1 mdma2 udma0 udma1 *udma2
|  AdvancedPM=no
| 
|  busstate     =  1 (on)
| 
| hdparm -vi /dev/hdc:
| /dev/hdc:
|  HDIO_GET_MULTCOUNT failed: Input/output error
|  I/O support  =  3 (32-bit w/sync)
|  unmaskirq    =  0 (off)
|  using_dma    =  0 (off)
|  keepsettings =  0 (off)
|  HDIO_GET_NOWERR failed: Input/output error
|  readonly     =  0 (off)
|  BLKRAGET failed: Input/output error
|  HDIO_GETGEO failed: Invalid argument
| 
|  Model=LITE-ON LTR-12101B, FwRev=LS3J, SerialNo=
|  Config={ Fixed Removeable DTR<=5Mbs DTR>10Mbs nonMagnetic }
|  RawCHS=0/0/0, TrkSize=0, SectSize=0, ECCbytes=0
|  BuffType=unknown, BuffSize=1024kB, MaxMultSect=0
|  (maybe): CurCHS=0/0/0, CurSects=0, LBA=yes, LBAsects=0
|  IORDY=on/off, tPIO={min:120,w/IORDY:120},
|  tDMA={min:120,rec:120}
|  PIO modes: pio0 pio1 pio2 pio3 pio4
|  DMA modes: sdma0 sdma1 sdma2 mdma0 mdma1 *mdma2
|  AdvancedPM=no
| 
|  busstate     =  1 (on)

Wie du siehst l�uft das CDROM im UDMA2 und ich sch�tze mal deines tut
das nicht, deswegen die ganzen Hacker im Betrieb. Oder aber dein
Prozessort ist zu lahm? (Hier P3 500 MHz)

Andreas

-- 
Zwei Knaben stiegen auf einen Baum.
Sie wollten beide �pfel klaun.
Sie fanden keinen Appel,
der Baum war n�mlich ne Pappel.

Attachment: msg37198/pgp00000.pgp
Description: PGP signature

Antwort per Email an