Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Attivazione DMA e parametri hdparm.
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian)
View previous topic :: View next topic  
Author Message
Sw0rdmast3r
n00b
n00b


Joined: 16 Jun 2007
Posts: 46

PostPosted: Thu Jul 05, 2007 6:09 pm    Post subject: Attivazione DMA e parametri hdparm. Reply with quote

Salve, avevo dei problemi riguardanti hdparm, difatti dando hdparm -d 1 /dev/hdc mi restituiva:
Code:
 hdparm -d 1 /dev/hdc

/dev/hdc:
 setting using_dma to 1 (on)
 HDIO_SET_DMA failed: Operation not permitted
 using_dma     =  0 (off)

Così ho guardato https://forums.gentoo.org/viewtopic-t-568149-highlight-hdparm.html e, disabilitanto ATA e abilitando Serial ATA, effettivamente le prestazioni dell'hard disk sono migliorate, ed inoltre i dispositivi si montano automaticamente(cosa che prima non succedeva). Quando però provo ad usare hdparm:
Code:
localhost francesco # hdparm -d 1 /dev/sda

/dev/sda:
 setting using_dma to 1 (on)
 HDIO_SET_DMA failed: Inappropriate ioctl for device

E via dicendo con vari altri parametri, a parte -W.
Come posso risolvere? Grazie.
_________________
EnTeR ThE MaTrIx
Back to top
View user's profile Send private message
Josuke
Veteran
Veteran


Joined: 07 May 2003
Posts: 1175
Location: Italy - Bolzano

PostPosted: Thu Jul 05, 2007 7:01 pm    Post subject: Reply with quote

con i dischi sata non serve usare hdparm:

https://forums.gentoo.org/viewtopic-p-2583806.html?sid=4bb6dfc64bfbd8522df5da7fad0365e9
_________________
fletto i muscoli...e sono nel vuoto
Back to top
View user's profile Send private message
Sw0rdmast3r
n00b
n00b


Joined: 16 Jun 2007
Posts: 46

PostPosted: Thu Jul 05, 2007 7:35 pm    Post subject: Reply with quote

Grazie della delucidazione :)
_________________
EnTeR ThE MaTrIx
Back to top
View user's profile Send private message
djinnZ
Advocate
Advocate


Joined: 02 Nov 2006
Posts: 4831
Location: somewhere in L.O.S.

PostPosted: Fri Jul 06, 2007 6:54 pm    Post subject: Reply with quote

per settare scsi, sata ed i nuovi pata devi usare sys-apps/sdparm non hdparm.
_________________
scita et risus abundant in ore stultorum sed etiam semper severi insani sunt:wink:
mala tempora currunt...mater stultorum semper pregna est :evil:
Murpy'sLaw:If anything can go wrong, it will - O'Toole's Corollary:Murphy was an optimist :wink:
Back to top
View user's profile Send private message
riverdragon
Veteran
Veteran


Joined: 14 Sep 2006
Posts: 1269
Location: Verona

PostPosted: Thu Aug 16, 2007 11:05 am    Post subject: Hdparm e la nuova libata Reply with quote

Premessa: il wiki non è accessibile, e non ho trovato informazioni sufficientemente recenti cercando nel forum.

Oggi, dopo l'aggiornamento di udev di ieri sera, mi sono messo a controllare il corretto funzionamento del disco. Si tratta di un disco ATA che fa uso dei nuovi driver PATA presenti nel kernel dal 2.6.19 (al momento uso il kernel 2.6.22-gentoo-r1). Ho scoperto che, per un errore di impostazione, le opzioni di /etc/conf.d/hdparm non venivano lette: erano infatti relative ai drive marcati hdX mentre la nuova libreria li vede tutti come sdX. Sistemando questa disattenzione, mi si sono presentati quattro errori:
Code:
tommi@tomnote ~ $ sudo /etc/init.d/hdparm restart
 * Caching service dependencies ...                                                                                                                                   [ ok ]
 * Service hdparm stopping
 * WARNING:  you are stopping a boot service.
 * Service hdparm stopped
 * Service hdparm starting
 * Running hdparm on /dev/sda ...
 HDIO_SET_32BIT failed: Invalid argument
 HDIO_SET_UNMASKINTR failed: Inappropriate ioctl for device
 HDIO_SET_DMA failed: Inappropriate ioctl for device
 HDIO_SET_KEEPSETTINGS failed: Inappropriate ioctl for device                                                                                                         [ ok ]
 * Service hdparm started
La riga di configurazione era questa
Code:
sata_all_args="-d1 -c3 -u1 -W0 -k1 -K1"
Detto in maniera comprensibile, sono attivati il DMA, i trasferimenti a 32 bit con "sincronizzazione", lo smascheramento degli interrupt, le opzioni per il salvataggio delle impostazioni, e disabilitata la write cache. Andando a verificare la situazione manualmente, questo è quello che si presenta:
Code:
tomnote linux # hdparm /dev/sda

/dev/sda:
 IO_support    =  0 (default 16-bit)
 readonly      =  0 (off)
 readahead     = 256 (on)
 geometry      = 12161/255/63, sectors = 195371568, start = 0
Code:
tomnote linux # hdparm -i /dev/sda

/dev/sda:

 Model=FUJITSU MHV2100AH                       , FwRev=00000096, SerialNo=        NT01T5725RMW
 Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs }
 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=0
 BuffType=DualPortCache, BuffSize=8192kB, MaxMultSect=16, MultSect=?16?
 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=195371568
 IORDY=yes, 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 *udma5
 AdvancedPM=yes: mode=0x80 (128) WriteCache=disabled
 Drive conforms to: ATA/ATAPI-6 T13 1410D revision 3a:  ATA/ATAPI-2,3,4,5,6

 * signifies the current active mode
Da qui, il dma risulta attivo. Ma
Code:
tomnote linux # hdparm -c /dev/sda

/dev/sda:
 IO_support    =  0 (default 16-bit)
il trasferimento a 32 bit non lo è
Code:
tomnote linux # hdparm -u /dev/sda

/dev/sda:
dello smascheramento non si sa nulla,
Code:
tomnote linux # hdparm -d /dev/sda

/dev/sda:
e non ottengo risposta nemmeno con una query sul DMA.
Rimuovendo dalla riga di configurazione le opzioni non digerite dal sistema (-d1 -c3 -u1 -k1) le prestazioni sembrano comunque buone, per un disco ATA (non SATA) a 5400 rpm:
Code:
tomnote ~ # hdparm -tT /dev/sda

/dev/sda:
 Timing cached reads:   2126 MB in  2.00 seconds = 1063.03 MB/sec
 Timing buffered disk reads:  100 MB in  3.04 seconds =  32.85 MB/sec
Sembra quasi che i nuovi driver nel kernel precludano l'accesso a certe opzioni, mentre non riescano a riconoscerne altre. Qualcuno di voi ha qualche aiuto da darmi, per capire quantomeno se ciò che mi si presenta è un problema o no? Grazie.

EDIT: allego un paio di "snippet" dalla configurazione del kernel
Code:
tomnote ~ # grep DMA /boot/config
CONFIG_ZONE_DMA=y
CONFIG_GENERIC_ISA_DMA=y
CONFIG_ZONE_DMA_FLAG=1
CONFIG_ISA_DMA_API=y
# CONFIG_PDC_ADMA is not set
# CONFIG_PATA_OPTIDMA is not set
# DMA Engine support
# CONFIG_DMA_ENGINE is not set
# DMA Clients
# DMA Devices
CONFIG_HAS_DMA=y

tomnote ~ # grep ATA /boot/config | grep -v \#
CONFIG_ATA=y
CONFIG_ATA_ACPI=y
CONFIG_SATA_AHCI=y
CONFIG_ATA_PIIX=y
CONFIG_ATA_GENERIC=y
CONFIG_PATA_MPIIX=y
CONFIG_PATA_OLDPIIX=y
Back to top
View user's profile Send private message
riverdragon
Veteran
Veteran


Joined: 14 Sep 2006
Posts: 1269
Location: Verona

PostPosted: Wed Sep 05, 2007 8:12 pm    Post subject: Reply with quote

Toc toc...
Back to top
View user's profile Send private message
!equilibrium
Bodhisattva
Bodhisattva


Joined: 06 Jun 2004
Posts: 2109
Location: MI/BG/LC

PostPosted: Wed Sep 05, 2007 10:49 pm    Post subject: Reply with quote

la nuova libreria PATA vede i dispositivi come se fossero device SATA (/dev/sd*), per tando non devi usare hdparm, ma sdparm.
nota: i device SATA(/SCSI) non hanno le stesse voci hdparm e sdparm, per esempio non deve essere settato il DMA o l'unmasking perchè viene già fatto in automatico.

/EDIT: sbaglio o tu stesso hai risposto a questo thread ? :roll:

/EDIT: fatto il merge con il thread aperto da @riverdragon
_________________
Arch Tester for Gentoo/FreeBSD
Equilibrium's Universe

all my contents are released under the Creative Commons Licence by-nc-nd 2.5
Back to top
View user's profile Send private message
riverdragon
Veteran
Veteran


Joined: 14 Sep 2006
Posts: 1269
Location: Verona

PostPosted: Thu Sep 06, 2007 9:31 am    Post subject: Reply with quote

Ehm... ops! :oops: che figura!
Grazie, ora provo.

EDIT: sdparm non funziona come sdparm, le opzioni sono diverse, quelle che hanno un corrispondente sono qui http://sg.torque.net/sg/sdparm.html ma sono pochine; vedo inoltre che sdparm non installa uno script in /etc/init.d, quindi non è possibile avviarlo automaticamente all'avvio (ma forse non ce n'è bisogno); dentro a /etc/conf.d/hdparm vedo però
Code:
# or you can set options for all SATA drives
sata_all_args="..."
quindi immagino che, con i dovuti limiti, anche hdparm vada bene per i SATA. La situazione sinceramente è poco chiara. Paradossalmente potrei evitare di avviare hdparm all'accensione del sistema e non noterei alcuna differenza.
Back to top
View user's profile Send private message
!equilibrium
Bodhisattva
Bodhisattva


Joined: 06 Jun 2004
Posts: 2109
Location: MI/BG/LC

PostPosted: Thu Sep 06, 2007 2:33 pm    Post subject: Reply with quote

riverdragon wrote:
EDIT: sdparm non funziona come hdparm, le opzioni sono diverse, quelle che hanno un corrispondente sono qui http://sg.torque.net/sg/sdparm.html ma sono pochine


e chi ha detto che i parametri debbano essere per forza uguali? il SATA è un derivato dello SCSI e ne ha ereditato, oltre ad altri aspetti, anche il set di comandi hardware, per questo si usa sdparm con i SATA. attualmente sdparm è l'utility più completa per la gestione dei set di comandi SCSI.

NOTA: il link che hai citato è una guida sull'uso di sdparm, non una tabella che mette a confronto gli equivalenti set di comandi ATA/SCSI.


riverdragon wrote:
vedo inoltre che sdparm non installa uno script in /etc/init.d, quindi non è possibile avviarlo automaticamente all'avvio (ma forse non ce n'è bisogno)


infatti non ce n'è bisogno per il semplice motivo che i comandi SCSI, una volta salvati, si possono rendere permanenti. questo non avviene invece per i PATA i quali perdono i settaggi ad ogni hardreset del pc (sì lo so che esistono le opzioni di hdparm -k e -K ma non sono *permanenti*).

riverdragon wrote:
dentro a /etc/conf.d/hdparm vedo però
Code:
# or you can set options for all SATA drives
sata_all_args="..."
quindi immagino che, con i dovuti limiti, anche hdparm vada bene per i SATA. La situazione sinceramente è poco chiara. Paradossalmente potrei evitare di avviare hdparm all'accensione del sistema e non noterei alcuna differenza.


hdparm ha un *parziale* supporto per i SATA, questo vuol dire che alcune sue opzioni (molto poche, le conti sulle dita di una mano e avanzano pure dita alla fine del conteggio) si possono usare anche sui SATA. Queste opzioni le puoi applicare ai tuoi disci SATA usando le voci sata_all_args o sd?_* in /etc/conf.d/hdparm. sinceramente non ci vedo nulla di misterioso o confuso, quelle voci servono per applicare le opzioni di hdparm a seconda della tipologia di disco in possesso: se ho ATA userò le voci hd?_*, se ho SATA usero sd?_* (ovviamente se si dispone sia di device PATA che SATA le due tipologie di voci andranno usate contemporamente).
_________________
Arch Tester for Gentoo/FreeBSD
Equilibrium's Universe

all my contents are released under the Creative Commons Licence by-nc-nd 2.5
Back to top
View user's profile Send private message
riverdragon
Veteran
Veteran


Joined: 14 Sep 2006
Posts: 1269
Location: Verona

PostPosted: Thu Sep 06, 2007 3:14 pm    Post subject: Reply with quote

Hai sicuramente ragione equilibrium, ma ciò non toglie che il mio disco sia un PATA che il kernel vede come un SATA, quindi né un vero SATA né uno SCSI. Che poi il kernel lo tratti come un SATA non cambia tutto, perché l'hardware è rimasto come prima.

Per esempio, il comando per disabilitare la write cache del disco dato da sdparm restituiva un errore!

Il link che ho dato prima è quello contenuto nell'ebuild di sdparm. Verificherò e cercherò le altre opzioni per sdparm, per provare a fare quello che facevo con hdparm.
Back to top
View user's profile Send private message
djinnZ
Advocate
Advocate


Joined: 02 Nov 2006
Posts: 4831
Location: somewhere in L.O.S.

PostPosted: Thu Sep 06, 2007 5:44 pm    Post subject: Reply with quote

riverdragon wrote:
Per esempio, il comando per disabilitare la write cache del disco dato da sdparm restituiva un errore!


quale comando? quello citato qui? Se non sono del tutto rimbambito una delle diffrenze tra i nuovi ed i vecchi driver è che disabilitano del tutto le funzioni notoriamente buggate dell'hardware (ed in particolare la write cache).
_________________
scita et risus abundant in ore stultorum sed etiam semper severi insani sunt:wink:
mala tempora currunt...mater stultorum semper pregna est :evil:
Murpy'sLaw:If anything can go wrong, it will - O'Toole's Corollary:Murphy was an optimist :wink:
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum