DMA na linuxe

Všetko ohľadom Linuxu...
nitrox
Light Star
Light Star
Príspevky: 239
Registrovaný: 26 dec 2006, 21:18
Bydlisko: BJ
Kontaktovať používateľa:

DMA na linuxe

Príspevok od používateľa nitrox »

Ako si na linuxe nastavím UDMA,l belo teraz mi ide všetko cez CPU, a to je dosť pomalé, napr. kopírovanie z disku na disk ide max 7 MBPS.

Mám Suse 10.3.

V Yaste som to nenašiel.
Cesar
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3767
Registrovaný: 04 máj 2006, 21:33

Príspevok od používateľa Cesar »

DMA sa dá zapnúť takto:

hdparm -d1 /dev/hda

Samorejme hdx čo treba (ako root). Existuje aj sdparm keby hdparm nefungoval (scsi, sata?).
nitrox
Light Star
Light Star
Príspevky: 239
Registrovaný: 26 dec 2006, 21:18
Bydlisko: BJ
Kontaktovať používateľa:

Príspevok od používateľa nitrox »

Prečo keď napíšem:

Kód: Vybrať všetko

hdparm -d1 /dev/hda
Tak mi napíše : No sucht file or directory
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Musíš to spúšťať ako root. Skús sa najskôr aké DMA máš vlastne povolené

Kód: Vybrať všetko

hdparm -I /dev/hda
nitrox
Light Star
Light Star
Príspevky: 239
Registrovaný: 26 dec 2006, 21:18
Bydlisko: BJ
Kontaktovať používateľa:

Príspevok od používateľa nitrox »

Samozrejme to skúšam, ako root, ale stále keď napíšem nejaký príkaz, tak mi vyskočí buď nápoveda k hdparm, kde mi ukáže všetky možné parametre, ale to vtedy ten príkaz asi píšem zle, ale keď ho napíšem dobre tak mi stále napíše:
/dev/hda: No sucht file or directory.

Dokonca aj keď som napísal toto:
hdparm -I dev/hda
Tak mi vyskočí že /dev/hda: No sucht folr or directory

A príkaz sdparm, to asi nebude, lebo ja nemám Sata, alebo SCSI disky.
Cesar
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3767
Registrovaný: 04 máj 2006, 21:33

Príspevok od používateľa Cesar »

Ako prvé by si mal zistiť ako máš mountovanie, na sata zvykne byť aj nie /dev/hda ale /dev/sda a hdparm ešte môže fungovať aj tak. A môže to byť aj hdb, hdc podľa toho či je primary-secondary / master-slave nie len hda.

Pozri si /etc/fstab alebo v konzole fdisk -l.

A 7 MB to kopírovalo vždy alebo len teraz?

Teraz ma napadlo, že ja mám paralel ata a predsa mi namountoval sda (len suse10.3, ostatné distribúcie vždy hda), hda to určite nebude. :lol: Mountuje to nejako čudne. :P Opensuse/Yast sux. :D
nitrox
Light Star
Light Star
Príspevky: 239
Registrovaný: 26 dec 2006, 21:18
Bydlisko: BJ
Kontaktovať používateľa:

Príspevok od používateľa nitrox »

7 MB to išlo už od začiatku, ale až teraz som sa tým začal zaoberať. Text ktorý je v prílohe my vypísalo, potom ako som zadal príkaz hdparm -I /dev/sdb1 lebo to by mal byť ten disk, ne ktorom mám nainštalovaný linux.

sda1 je windows C
sda5 je windows D
sdb1 je linux
sdc1 je windows E

Samozrejme si chcem nastaviť DMA na všetky, ale teraz si niesom istý, čo mám na sda1 nastavené, lebo v tom výpise je * označené udma6 zmenená to, že tam mám zapnuté dma6 ?
Ak ané, prečo to potom ide tak pomaly a pri kopírovaný ide stále CPU na 100% ?
Napr. ak kopírujem po LAN cez ftp súbory, tak mi to ide okolo 5 MB, CPU na 100% a disk svieti na linuxe svieti v kuse, a na druhom pc len sem tam blikne, vyťaženie siete ukazuje skokovité kopírovanie max na 50% pritom rýchlosť ftp mám nastavenú na 11 MB

Tých 7 MB mi ide iba medzi linuxovou partýciou a windows partýciou, na disku sdb1 mi to kopíruje dostatočne rýchlo cca 17 - 20 MB, tak asi nebude problém v DMA, ale niekde inde, lebo som pozeral aj na ostatné disky a aj tam bola * pri umda5, alebo 6 v závislosti na disku.

Kód: Vybrať všetko

/dev/sdb1:

ATA device, with non-removable media
	Model Number:       Maxtor 6Y060P0                          
	Serial Number:      **********            
	Firmware Revision:  *********
Standards:
	Used: ATA/ATAPI-7 T13 1532D revision 0 
	Supported: 7 6 5 4 
Configuration:
	Logical		max	current
	cylinders	16383	4047
	heads		16	16
	sectors/track	63	255
	--
	CHS current addressable sectors:   16511760
	LBA    user addressable sectors:  120103200
	device size with M = 1024*1024:       58644 MBytes
	device size with M = 1000*1000:       61492 MBytes (61 GB)
Capabilities:
	LBA, IORDY(can be disabled)
	Standby timer values: spec'd by Standard, no device specific minimum
	R/W multiple sector transfer: Max = 16	Current = 16
	Advanced power management level: unknown setting (0x0000)
	Recommended acoustic management value: 192, current value: 254
	DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 udma5 *udma6 
	     Cycle time: min=120ns recommended=120ns
	PIO: pio0 pio1 pio2 pio3 pio4 
	     Cycle time: no flow control=120ns  IORDY flow control=120ns
Cesar
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3767
Registrovaný: 04 máj 2006, 21:33

Príspevok od používateľa Cesar »

hdparm -t /dev/sda

hdparm -t /dev/sdb

zmerá rýchlosť..
root@localhost:/home/cesar# hdparm -t /dev/hdc

/dev/hdc:
Timing buffered disk reads: 144 MB in 3.00 seconds = 47.97 MB/sec
DMA či máš si skontroluj:

hdparm /dev/sda

a

hdparm /dev/sdb

narpr..
root@localhost:/home/cesar# hdparm /dev/hdc

/dev/hdc:
multcount = 0 (off)
IO_support = 1 (32-bit)
unmaskirq = 1 (on)
using_dma = 1 (on)
keepsettings = 0 (off)
readonly = 0 (off)
readahead = 256 (on)
geometry = 19457/255/63, sectors = 312581808, start = 0
To zaťaženie CPU môže spôsobovať:
1. Skoro plný harddisk, málo voľného miesta.
2. Je tam NTFS, keby tam bol FAT32 alebo linuxový formát tak by nebolo také zaťaženie.

A samozrejme oveľa rýchlešjie sa kopíruje z jedného hdd do druhého ako v tom istom hdd z jedného oddielu na druhý oddiel.
nitrox
Light Star
Light Star
Príspevky: 239
Registrovaný: 26 dec 2006, 21:18
Bydlisko: BJ
Kontaktovať používateľa:

Príspevok od používateľa nitrox »

Ten disk je NTFS, ale mne to ide rýchlejšie na jednom disku, ako z disku na disk, to možno preto, lebo je ten druhý disk NTFS, ale prečo aj keď kopírujem cez ftp na linux oddiel, tak ani tam nedosiahnem zápis väčší zápis ako 5 MB, aj keď mám nastavené prenos v ftp na 10 MB. Neviem, al euž sa z tým asi budem musieť zmieriť, že si budem musieť kúpiť lepší PC, ak od neho chcem viac. keď som skúšal hdparm z paramentom -t, tak som tam mal rýchlosť okolo 40 MB/sec.

no keď som dal samotný hdparm /dev/sda, alebo akýkoľvek iný disk, tak mi vypísalo toto :

/dev/sda:
IO_support = 0 (default 16-bit)
HDIO_GET_UNMASKINTR failed: Inappropriate ioctl for device
HDIO_GET_DMA failed: Inappropriate ioctl for device
HDIO_GET_KEEPSETTINGS failed: Inappropriate ioctl for device
readonly = 0 (off)
readahead = 256 (on)
geometry = 10011/255/63, sectors = 160836480, start = 0
Cesar
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3767
Registrovaný: 04 máj 2006, 21:33

Príspevok od používateľa Cesar »

Skús ešte sdparm.

google

Skor každý odkaz je na OpenSuse, môže to byť bug.
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Pri SATA diskoch je DMA povolené vždy (a aj vo výpise má napísane, že sa používa). Problém bude asi niekde inde. Skúsil by som sa počas takého prenosu pozrieť do systémového logu (či sa tam nevypisuje nejaké chyba).
turtlak69
Guru
Guru
Príspevky: 2896
Registrovaný: 10 máj 2007, 15:58
Bydlisko: /dev/null

Príspevok od používateľa turtlak69 »

nitrox: po pouziti hdparm mi vypise to iste. na 99% je to bug :)
ja by som skusil skontrolovat disk. spusti si nejake live CD a pomocou fsck skus nieco vycarovat :) ja ked som nainstalil openSUSE, tak rychlost zapisu na disk bola cca 8 MB/s, co je pomerne viacej ako 1-2 MB/s s kubuntu. neviem ci je to vec DMA, ale predpokladam, ze ano a v kubuntu bol DMA pristup vypnuty asi. takze z toho usudzujem, ze v suse je DMA pristup defaultne nastaveny na 1 cize zapnuty :) no tato teoria moze byt uplne zla.
chrono
VIP
VIP
Používateľov profilový obrázok
Príspevky: 7127
Registrovaný: 25 dec 2006, 15:17

Príspevok od používateľa chrono »

Pri SATA diskoch je DMA zapnuté vždy (SATA ovládač používa iba DMA, nikdy nepoužíva PIO), takže chyba bude asi v nejakom inom nastavení.
Napísať odpoveď