Portál AbcLinuxu, 14. května 2025 02:08

Dotaz: zapnuti DMA spomali disk

12.9.2005 23:42 Thomas
zapnuti DMA spomali disk
Přečteno: 477×
Odpovědět | Admin
Dobry den,chtel bych se zeptat.Kdyz zapnu DMA pomoci
hdparm -d1 /dev/hda
tak disk se strasne spomali(skoro zastavi..).Ale u CD-Rom a DVD-Rom mi DMA funguje normalne!!Nevite nekdo jak DMA sprovoznit? Informace o mem PC: Distrib:Mandrake10.1 Kernel:2.6.10 Bord:VIA Apollo Pro

hdparm -i /dev/hda
/dev/hda:

 Model=ST38421A, FwRev=6.01, SerialNo=5BD124KP
 Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }
 RawCHS=16368/16/63, TrkSize=0, SectSize=0, ECCbytes=4
 BuffType=unknown, BuffSize=256kB, MaxMultSect=16, MultSect=16
 CurCHS=17459/15/63, CurSects=16498755, LBA=yes, LBAsects=16498944
 IORDY=on/off, tPIO={min:240,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes:  pio0 pio1 pio2 pio3 pio4
 DMA modes:  mdma0 mdma1 mdma2
 UDMA modes: udma0 udma1 udma2 udma3 *udma4
 AdvancedPM=no WriteCache=enabled
 Drive conforms to: device does not report version:  1 2 3 4

 * signifies the current active mode
hdparm /dev/hda
/dev/hda:
 multcount    = 16 (on)
 IO_support   =  1 (32-bit)
 unmaskirq    =  1 (on)
 using_dma    =  0 (off)
 keepsettings =  0 (off)
 readonly     =  0 (off)
 readahead    = 256 (on)
 geometry     = 16368/16/63, sectors = 16498944, start = 0
hdparm -tT /dev/hda
/dev/hda:
 Timing buffer-cache reads:   256 MB in  2.02 seconds = 127.00 MB/sec
 Timing buffered disk reads:   12 MB in  3.18 seconds =   3.77 MB/sec
Predem dekuji za pomoc!!
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

13.9.2005 01:12 David Jaša | skóre: 44 | blog: Dejvův blog
Rozbalit Rozbalit vše Re: zapnuti DMA spomali disk
Odpovědět | | Sbalit | Link | Blokovat | Admin
To hdparm -tT /dev/hda je při zapnutém nebo vypnutém DMA? Doplň sem prosím ještě ten druhý případ.
oVirt | SPICE
13.9.2005 09:30 podlesh | skóre: 38 | Freiburg im Breisgau
Rozbalit Rozbalit vše Re: zapnuti DMA spomali disk
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zřejmě se nastaví špatný režim, nebo špatné nastavení adaptéru (což by znamenalo špatný/starý driver v jádře). Jaký je to chipset?

Ty výpisy jsou zřejmě před -d1, protože hdparm bez option píše vypnutou dma. Ale to nemusí být zcela směrodatné, důležité je toto:
 PIO modes:  pio0 pio1 pio2 pio3 pio4
 DMA modes:  mdma0 mdma1 mdma2
 UDMA modes: udma0 udma1 udma2 udma3 *udma4
Hvězdička označuje aktivní režim, v tomto případě UltraDMA4

Zapínat DMA pomocí -d1 je tedy zbytečné a evidentně kontraproduktivní (možná nastaví klasický DMA režim, kderé jsou dost pomalé). Pravda je, že na některých chipech je zase potřeba naopak DMA zapnout i když je nastaven UDMA režim. Ale to zřejmě není tento případ - jen tak pro zajímavost by mě zajímal výpis -i po provedení -d1 .

V nastavení režimů a DMA u různých čipů je docela bordel, naštěstí si s tím lze pod Linuxem pomocí hdparm dost pohrát.
13.9.2005 10:05 Petr
Rozbalit Rozbalit vše Re: zapnuti DMA spomali disk
Odpovědět | | Sbalit | Link | Blokovat | Admin
Když na svém kompu zadám hdparm -d 1 /dev/hd?, tak mi systém zamrzne:-(((

Vzhledem k tomu, že DMA je již kernelem zapnuto, používám jen hdparm -X [mód] /dev/hd?.

Nastavte nejvyšší mód, který Váš disk podporuje.
13.9.2005 10:37 Thomas
Rozbalit Rozbalit vše Re: zapnuti DMA spomali disk

2.chipset: VIR ET82C693A/596B . Skusil jsem

hdparm -d1 /dev/hda && hdparm -i /dev/hda && hdparm -d0 /dev/hda
a na vypisu hdparm -i bylo vse stejne. Bylo mi to podezrele a tak jsem to modifikoval na
hdparm -d1 /dev/hda && hdparm -tT /dev/hda && hdparm -d0 /dev/hda
a pote vse vytuhlo! Presel jsem (alt+ctrl+f3)na konzoli a tam jsem se prihlasil jako root a obevili se hlasky :
EXT3-fs error (device hda1) in start_transaction:Journal was aborted   INIT:"3" respawing to fast disabled for 5 minutes
a tak jsem PC restartoval a hle ono se to pri kontrole disku biosem zaseklo pomohlo jen zap/vyp PC!!

1.no nedoplnim hdparm pri zapnutem DMA jelikos jsem zjistil ze se to pochvilce uplne zborti!

3.for Petr: pomoci hdparm -X nastavim jen to dma ktere jiz bezi viz hdparm -i.Nebo se mylim?Dik

Dik vsem!
13.9.2005 10:55 Semo | skóre: 45 | blog: Semo
Rozbalit Rozbalit vše Re: zapnuti DMA spomali disk
Je to VIA a nie VIR a v jadre existuje ovladac na neho. Mam nejasny pocit, ze s tym chipsetom to bez toho praveho driveru bolo take divne (kym som ho vlastnil). Ze tam boli nejake vesele veci s DMA. So spravnym driverom bez problemov.
If you hold a Unix shell up to your ear, you can you hear the C.
13.9.2005 11:24 secido
Rozbalit Rozbalit vše Re: zapnuti DMA spomali disk
a tak jsem PC restartoval a hle ono se to pri kontrole disku biosem zaseklo pomohlo jen zap/vyp PC!!

Podľa tohto to vyzerá skôr na hw problém.
14.9.2005 13:36 ivdo
Rozbalit Rozbalit vše Re: zapnuti DMA spomali disk
HW nejspíš bude v pořádku, sw resetem se asi nenastavil zmatený chipset do default stavu. Podobně se kdysi chovalo moje staré pentium. Když jsem vyladil disk pomocí hdparm po resetu jely rychle i w95 :-) Totéž ISA pnp zvukovky a některé síťovky.
13.9.2005 12:20 Roman DAVID | skóre: 24 | Brno
Rozbalit Rozbalit vše Re: zapnuti DMA spomali disk
Odpovědět | | Sbalit | Link | Blokovat | Admin
z vypisu je patrne, ze dma zapnute nemate. zkuste vypnout unmaskirq a pak zkuste zapnout DMA v nejakem pomalejsim modu (treba udma33)

hdparm -d1X66 /dev/hda
13.9.2005 14:30 Beda
Rozbalit Rozbalit vše Re: zapnuti DMA spomali disk
Odpovědět | | Sbalit | Link | Blokovat | Admin
zkus dat -d mezera 1

protoze si poslal:

using_dma = 0 (off)

a zkus se podivat do dmesg, jestli nema jadro problem pri komunikaci s diskem a nemusi pak treba restartovat cely ide kanal a pri te prilezitosti vypnout dma.
Skeletonix avatar 13.9.2005 23:10 Skeletonix | skóre: 18 | Praha
Rozbalit Rozbalit vše Re: zapnuti DMA spomali disk(zastavi)
Rekl bych ze v kernelu mam ovladac pro bord dobre.Tady je vypis dmesg
VP_IDE: IDE controller at PCI slot 0000:00:07.1
VP_IDE: chipset revision 6
VP_IDE: not 100% native mode: will probe irqs later
VP_IDE: VIA vt82c596b (rev 12) IDE UDMA66 controller on pci0000:00:07.1
    ide0: BM-DMA at 0xd000-0xd007, BIOS settings: hda:DMA, hdb:pio
    ide1: BM-DMA at 0xd008-0xd00f, BIOS settings: hdc:DMA, hdd:DMA
Probing IDE interface ide0...
hda: ST38421A, ATA DISK drive
elevator: using anticipatory as default io scheduler
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
jak je videt natahuje driver VIA 82C..Chtel bych jen poopravit,jak titulek hlasa ze disk se spomali tak to je to cista lez..poroste to vytuhne a tak nemohu zverejnit zadne vypii cehokoli po zapnuti DMA:)...nevite jak nekdo ten disk zrychlit 3.7MB/s mi prijde dost malo:)..dik Jo a stim chipsetem sorry,slepe jsme to opsal z pairu od bordu a tma se vazne pise
This bord uses the VIR ET82C693A/596B chipset
:)
Skeletonix avatar 14.9.2005 12:13 Skeletonix | skóre: 18 | Praha
Rozbalit Rozbalit vše Re: zapnuti DMA spomali disk
Zkousel ,jsem anic se nezmenilo..zas to vytuhne!
Skeletonix avatar 14.9.2005 12:59 Skeletonix | skóre: 18 | Praha
Rozbalit Rozbalit vše Re: zapnuti DMA spomali disk
zkousel jsem pomalejsi udma:)nic
Skeletonix avatar 14.9.2005 17:08 Skeletonix | skóre: 18 | Praha
Rozbalit Rozbalit vše Re: zapnuti DMA spomali disk
Nevite nekdo,prosim,jak to DMA sprovoznit...ci jak zvysit rychlost hdd? DIK MOC!
14.9.2005 17:16 Petr
Rozbalit Rozbalit vše Re: zapnuti DMA spomali disk
Až příjdu domů -- cca za 2 hod, tak Vám pošlu něco z mých vlastních init scriptů... DMA musím dělat taky ručně.:-(((
14.9.2005 19:16 Petr
Rozbalit Rozbalit vše Re: zapnuti DMA spomali disk
Jak jsem slíbil:

V init scriptu mám hdparm -X udma6 /dev/hdc, protože, jak jsem psal, při parametru -d 1 mi diskový subsystém vyhrudne.

Poté hdparm -i /dev/hdc vypíše:

ws:/home/petr # hdparm -i /dev/hdc

/dev/hdc:

 Model=Maxtor 6Y120P0, FwRev=YAR41BW0, SerialNo=Y44QPQQE
 Config={ Fixed }
 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=57
 BuffType=DualPortCache, BuffSize=7936kB, MaxMultSect=16, MultSect=16
 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=240121728
 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes:  pio0 pio1 pio2 pio3 pio4
 DMA modes:  mdma0 mdma1 mdma2
 UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6
 AdvancedPM=yes: disabled (255) WriteCache=enabled
 Drive conforms to: (null):

 * signifies the current active mode

ws:/home/petr # hdparm -tT /dev/hdc

/dev/hdc:
 Timing cached reads:   296 MB in  2.01 seconds = 147.21 MB/sec
 Timing buffered disk reads:  134 MB in  3.03 seconds =  44.26 MB/sec
ws:/home/petr #

A subjektivně musím uznat, že disk běží dostatečně rychle.

PIO mód mi ani nastavit nejde... Lze mi nastavit jen DMA a UDMA módy.

Doufám, že Vám to trošku pomůže...


PS.: Můj HW: i810 chipset, disk je na řadiči Sillicon Images UDMA/133 a je na "sběrnici" sám.
SW: SuSE Linux 9.2 kernel default SuSE 2.6.8-24.10.
Žádné HW a SW zásahy. Vše default (z distribuce, z továrny).
Skeletonix avatar 14.9.2005 21:26 Skeletonix | skóre: 18 | Praha
Rozbalit Rozbalit vše Re: zapnuti DMA spomali disk
Dik moc,ale moc moudrej z toho nejsem.Nejprv bych se zeptal co je init script(spise kam ho zapsat)?Jasou to ty skripty co se spoustej hned pri startu..v Mandraku je rc.local?Potom moc nejsou moc jasny ty radky zacinajici ws: (
ws:/home/petr # hdparm -tT /dev/hdc
). To ws je tam proc?Disk po restartu beha na udma4 to nemusim nastavovat.A kdyz ho rucen prenastavim pres prikaz radku tak se nic nezmeni stale nejaky 3-4MB/s..Dik moc!!!
15.9.2005 10:52 Petr
Rozbalit Rozbalit vše Re: zapnuti DMA spomali disk
init script:
- jo, jsou to ty skripty, který se pouštěj hned při startu.

Kam zapsat?
SuSE má v YaSTu udělátko na nastavení DMA režimů. Když si DMA režim zapnu, tak se do init scriptů zařadí boot.idedma, který obsahuje hdparm -d 1 -X [mód] [blokové_zařízení], kde
- mód je požadovaný mód (např. udma6)
- blokové_zařízení např. /dev/hdc

Protože mi ovšem parametr -d 1 nefunguje, zadal jsem můj upravený příkaz do souboru /etc/init.d/boot.local a na YaST se v tomto případě vykašlal. V Mandraku to bude něco podobného; patrně Váš uváděný rc.local, ale nevím -- Mandrake jsem nikdy neviděl.

ws:/home/petr #:
ws je název mého počítače. Nemám rád složité názvy (slavné osobnosti, z filmů, zvířátka). Tohle je prostě zkratka z WorkStation, která se ke všemu ještě dobře píše. Pak mám ještě bs, což je BackupServer, který již bohužel (naštěstí) neexistuje;-)
Pod SuSE se uživatel root v promptu nezobrazuje. Měl jsem ho tam dopsat, omlouvám se.
/home/petr je tam proto, protože jsem napsal sux místo sux - (Více o příkazu sux bodě 26)

Ad. rychlosti:
Z man hdparm vyplývá, že parametry -t a -T počítají sekvenční rychlost, která je závislá na velikosti volné paměti RAM, rychlosti paměti RAM a rychlosti výměny dat přes CPU.
Podle toho, co píšete výše, bych být Vámi vyzkoušel jen nastavit nejvyšší UDMA mód bez použití parametru -d 1 a tento příkaz pak umístit do rc.local a šel od válu, stejně jako já.
Také nezapomeňte, že Váš disk má jen 256kB cache. Každý kB navíc je dost citelně znát (viz 3-4 MB/s).

Pěkný den.
Skeletonix avatar 15.9.2005 13:08 Skeletonix | skóre: 18 | Praha
Rozbalit Rozbalit vše Re: zapnuti DMA spomali disk
Diky moc!!!ASi jo,asi snazim dostat z disku na co nema..dal jsem zapnuti udma do init skriptu a nic se asi nezmenilo!..ale disk proste asi rychlejsi neni:).Dik moc za trpelivost!!

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.