Pas de lag avec le mode PIO

Si comme moi, vous avez un lecteur optique branché en IDE et qui utilise encore le mode de transfert PIO (et ce malgré le fait que vous spécifiez Transfert DMA si disponible dans le gestionnaire de périphériques), vous avez pu remarquer que le PC devient horriblement lent lors de la gravure ou de la lecture d’un média. La musique devient saccadée, le mouvement de la souris n’est plus fluide ; bref une horreur.

Cela vient du fait que le mode PIO demande beaucoup d’interruptions et cela se traduit par des temps processeur important en faveur du lecteur, au détriment du reste du système et de ses applications.
Pour ceux qui ont un système multi-cœurs (ou multi-processeurs, c’est pareil), il est possible de supprimer ce lag en basculant toutes les interruptions sur un autre cœur dédié.

Solution 1 : éditer le fichier BOOT.INI

Pour cela, éditez le fichier BOOT.INI à la racine de la partition de boot et ajoutez le paramètre /INTAFFINITY  à la ligne de boot qui correspond à votre Windows. Cela donne chez moi :

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)\WHISTLER
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WHISTLER="Windows Server 2003, Enterprise" /NOEXECUTE=OPTOUT /FASTDETECT /SOS /INTAFFINITY

Solution 2 : Reconfiguration du pilote

Il peut aussi être possible de réactiver le transfert en mode DMA en passant par le registre. Pour cela, allez dans la sous-clé HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318} puis cherchez la sous-clé qui correspond à votre contrôleur IDE (probablement 0001 ou 0002 respectivement pour le contrôleur primaire et le contrôleur secondaire), puis supprimez les clés MasterDeviceTimingModeAllowed et MasterIdDataCheckSum (SlaveDeviceTimingModeAllowed et SlaveIdDataCheckSum si votre périphérique est branché en esclave).

Allez dans le gestionnaire de périphériques pour réactiver le DMA si possible :
devmgmt.msc -> Controller IDE ATA/ATAPI -> Primary/Secondary IDE Channel -> Paramètres avancés -> Périphérique (0 pour Maître, 1 pour Esclave) -> Transfert Mode = DMA si possible

Redémarrez l’ordinateur, puis consultez le gestionnaire de périphériques pour savoir si le DMA est revenu ou pas.

No Comments

Post a Comment