[Résolu] The DMA on your hard drive is turned off !

Bonjour,
au démarrage de la version testing (kernel 2.6.15-1) j’ai ce message :

####################################### The DMA on your hard drive is turned off "This may slow performance with fsck" ######################################
Je vois bien ce qu’il dit mais comment régler ce problème ? a toute

personne à une idée ?

install hdparm
puis
man hdparm
puis test des paramètres à appliquer pour trouver la bonne config
(test de vitesse avec hdparm -tT )
puis
edition de hdparm.conf pour fixer une fois pour toute la gestion de ton disque

Je suis vraiment désolé de vous ennuyer avec ces problèmes de dd mais j’ai pas trouvé d’autres solutions !! même avec google !
sinon je me serais débrouiller par moi-même mais là je suis perdu.

voici ce que j’ai lorsque je fais un hdparm -tT /dev/hda

first disk master:

Timing cached reads: 2284 MB in 2.00 seconds = 1141.60 MB/sec Timing buffered disk reads: 130 MB in 3.03 seconds = 42.94 MB/sec

second disk slave:

Timing cached reads: 2200 MB in 2.00 seconds = 1098.52 MB/sec Timing buffered disk reads: 16 MB in 3.22 seconds = 4.97 MB/sec

en lisant le man j’ai fais des test et voilà :

etch:~# hdparm -d /dev/hda

/dev/hda:
 using_dma    =  1 (on)
etch:~# hdparm -d /dev/hdb

/dev/hdb:
 using_dma    =  0 (off)

donc le dma n’est pas activé sur le second disk

alors je fais :

ensuite je vais dans le hdparm.conf pour activer le dma au démarrage:

/dev/hdb { quiet dma = on io32_support = 1 }

Merci de m’avoir mi sur la voie !

au reboot j’ai toujours la même chanson :

/dev/hdb:
 multcount    =  0 (off)
 IO_support   =  1 (32-bit)
 unmaskirq    =  1 (on)
 using_dma    =  0 (off)
 keepsettings =  0 (off)
 readonly     =  0 (off)
 readahead    = 256 (on)
 geometry     = 16383/255/63, sectors = 160836480, start = 0

Mais j’ai vu qu’on pouvais rajouter la ligne via82cxxx a mon /etc/modules !
alors je test ça.

tu as fais ce que je croyais qu’il y avait à faire.
Je suis en train de regrader chez moi comment c’est, mais je ne trouve pas ce qui cloche.

slt,

La le dma est toujours sur off, le plus simple tu créer un script hdparm.sh qui contient simplement :

#/bin/sh
echo "Tunning des disques..."
/whereis/hdparm -c1 -d1 -q /dev/hda
/whereis/hdparm -c1 -d1 -q /dev/hdb
echo "Done."

Tu met le script dans /etc/init.d et tu créer les liens pour le boot.

update-rc.d hdparm start 20 2 3 4 5 . stop 20 0 1 6

attends, bien sûr que ça va marcher, mais ça mérite peut être de regarder pourquoi il y a un script hdparm dans init.d et un fichier hdparm.conf dans /etc, non ?

la dernière commande ne marche pas !

etch:/home/raphael# update-rc.d hdparm start 20 2 3 4 5 . stop 20 0 1 6 update-rc.d: error: expected runlevel [0-9S] (did you forget "." ?) usage: update-rc.d [-n] [-f] <basename> remove update-rc.d [-n] <basename> defaults [NN | sNN kNN] update-rc.d [-n] <basename> start|stop NN runlvl [runlvl] [...] . -n: not really -f: force

oui mais j’arrive pas à crée le lien pour le boot avec la dernière commande de notre ami stonfi !!

attends, le hdparm que tu essayes d’installer, c’est celui installé par le paquet ?
parceque si c’est oui, il est déjà configuré:
ls -l /etc/rc?.d/*hdpam
devrait te permettre de le vérifier.

sinon, si c’est le script de stonfi (que tu aurais du nommer hdparm.sh), si tu le fais démarrer à 20 il faut le stopper à priori à 80.
Je te conseillerais donc plutot la syntaxe suivante:
update-rc.d hdparm defaults s20 k80
sinon, pour l’autre syntaxe, je me demandes si simplement il ne suffit pas de rajouter un point à la fin (mais si tu l’utilises penses à dire stop à 80 )

par ailleurs, je verrais bien hdparm avec une prio 19/81 pour se lancer avant les autres services, et udev règlé à 18/82. Mais bon…

J’ai toujours pas retrouvé ou était utilisé le hdparm.conf :angry:

non j’utilise celui que j’ai crée et je l’ai nommé “hdparm.sh” que j’ai placé dans le /etc/init.d/

mais comment tu ferais toi pour écrirre la ligne de commande avec
update-rc.d ?

comme ça ? :

update-rc.d hdparm.sh start 60 S .

voilà ce qu’il me donne :

Adding system startup for /etc/init.d/hdparm.sh ...
   /etc/rc0.d/K81hdparm.sh -> ../init.d/hdparm.sh

bon je reboot !

ben ça marche toujours pas !! mais par contre en manuel ça va tout seul ! :laughing:
ça doit être le kernel qui a un bug !! je suis sur le 2.6.12-10-686-smp
je vais voir si je trouve de la documentation sur ce problème et je te tiens au courant

Bon je re-test avec ces param :

#/bin/sh echo "Tunning des disques..." /sbin/hdparm -q -d1 /dev/hdb echo "Done."

enregistrer sous hdparm.sh en root

j’efface en manuel les anciens fichiers crées dans /etc/rc0.d…rc1.d… que j’avais crée

je fais un update-rc.d

et au reboot je vois permission denied !!! :open_mouth:

[quote](mais si tu l’utilises penses à dire stop à 80 )
[/quote]
justement non il faut pas le stopper

J’avais oublier un truc assez important !! les droits
c’est tout à fait normal qu’il voulais pas me l’éxécuter
Au reboot il me disait “permission denied” ça aurais du me mettre la puce à l’oreille du premier coup. :slightly_smiling:

alors j’ai fais ça :

# chmod 755 /etc/init.d/hdparm.sh

Et ça marche enfin :slightly_smiling:
après 3000 réflexions et 2 nuits blanches !
merci à tous et à alexis