Chargement...
 
[Voir/Cacher menus de gauche]
[Voir/Cacher menus de droite]

Réglages fins du "latency timer" pour réduire la latence des périphériques PCI
Avant-propos : pour cette partie, vous aurez besoin de la suite d'outils pci-utils
(site web : http://mj.ucw.cz/linux.html#pciutils ), disponible pour toutes Distributions.

Présentation

Chaque périphérique PCI possède une valeur de "latency_timer" comprise en 0 et 248 cycles d'horloge du bus. Plus cette valeur est grande, plus le matériel gardera le bus longtemps pour lui. Cela augmentera la largeur de bande passante et le débit pour ce périphérique, mais cette "monopolisation" pourra perturber les autres périphériques PCI.
À contrario, une valeur de "latency_timer" faible indiquera au périphérique qu'il doit cesser ses transmissions si un autre composant à besoin du bus : ceci se traduira par une perte de bande passante importante.

Utilisation

En changeant la valeur de latency_timer pour chaque périphérique, vous pouvez changer leurs priorités afin de donner, par exemple, l'avantage à votre carte son !

Utilisez tout d'abord la commande "lspci" pour inspecter les latences PCI de vos dispositifs.
lspci -v

Par exemple :

00:1d.0 Audio device: ALi Corporation High Definition Audio/AC'97 Host Controller
	Subsystem: Elitegroup Computer Systems Device 1878
	Flags: bus master, medium devsel, latency 128, IRQ 22
	Memory at ff6f8000 (64-bit, non-prefetchable) [size=16K]
	Capabilities: <access denied>
	Kernel driver in use: HDA Intel
	Kernel modules: snd-hda-intel


vous voyez la latence PCI de votre périphérique à la 3ème ligne : latency 128.

Repérez en particulier les lignes correspondant à votre carte son (par exemple Multimedia audio controller ). Si vous voulez que votre carte son soit le dispositif préféré de PCI, augmentez alors sa latence à au moins 128. Ramenez les valeurs de "latency_timer" de tous autres dispositifs PCI à quelque chose comme 64 ou 32 (sauf peut-être la carte graphique, cf remarque ci-dessous).

arrow Attention : la commande setpci utilisée requiert des valeurs exprimées dans le système hexadécimal (alors que lspci vous les affiche en décimal (!). Vous devrez donc convertir au préalable la valeur de latence souhaitée :

Valeur décimaleValeur hexadécimale
1610
3220
6440
12880
248F8
etc.


Exemple avec une carte son à l'adresse suivante (donnée par lspci) :
0000:00:0d.0 Multimedia audio controller: Cirrus Logic CS 4614/22/24
             [CrystalClear SoundFusion Audio Accelerator] (rev 01)

Pour définir la latence pci de ce matériel au maximum (en super utilisateur) :
setpci -s 0:0d.0 latency_timer=f8


Pour modifier plusieurs périphériques en même temps (ici, ceux du bus 01 à une valeur de 32 cycles) :
setpci -v -d 01:* latency_timer=20



Attention : au prochain redémarrage, la latence PCI sera remise à sa valeur d'origine, si vous voulez que ça soit persistant, il faut l'inscrire dans un script de démarrage, par exemple : /etc/rc.local pour la famille ubuntu.


Remarque importante

arrow Attention : Ne baissez pas trop la valeur de "latency_timer", sous peine de voir certains périphériques ne plus fonctionner ! (elle ne devrait pas être inférieure à la valeur de MIN_GRANT du périphérique considéré. Consultez le fil suivant pour plus d'infos). Si certains de vos périphériques fonctionnent moins bien, remontez leur valeur de "latency_timer". Votre carte graphique aura par exemple du mal à suivre sur certains jeux si vous abaissez trop sa valeur !
Voilà un exemple qui motive le fait qu'on vous conseille tout au long de ce site de monter votre homestudio sur une partition dédiée ...


Et pour le PCI-E (pci express)??

Pour le PCI-Express, toutes ces manipulations ne servent à rien. (source dev de ffado)
voir: http://wiki.linuxmusicians.com/doku.php?id=system_configuration

Liens

Si vous voulez plus d'info :


[+]

Collaborateur(s) de cette page : olinuxx , pianolivier , utilisateur_anonyme , xzu et Dominique .
Page dernièrement modifiée le Mercredi 28 novembre 2018 16:22:19 par olinuxx.
Le contenu de cette page est licencié sous les termes licence.

Documentation [Afficher / Cacher]

Faire un don
[Afficher / Cacher]

Connexion
[Afficher / Cacher]


Mégaphone [Afficher / Cacher]

allany, 20:52, sam. 22 mars 2025: @Milo : une fois connecté, tu peux joindre un membre par la messagerie via "mon linuxmao"
Milo, 12:11, sam. 22 mars 2025: Est-ce qu'il y a un moyen de contacter cette personne : dharanamrs Je trouve pas comment on se contacte entre utilisateur·ice du forum? Merci
calixtus06, 10:20, ven. 21 mars 2025: Bonjour et bienvenue à Milo, Soileh, Bot et Manfred :-)
sub26nico, 21:28, lun. 17 mars 2025: Bonjour Milo,Utilise le forum pour poser des questions, tu y trouveras plus de réponses.
Milo, 16:01, lun. 17 mars 2025: Bonjour, j'ai acheter 2 mini claviers un arturia et un akai je n'arrive pas à les configurer cherche de l'aide, svp Belle journée
olinuxx, 08:59, dim. 16 mars 2025: Bonjour Soileh. Utilise le forum pour poser des questions.
Soileh, 15:32, sam. 15 mars 2025: Bonjour, comment encoder l'ISRC qu'on nous a transmis pour un mp3 ou mp4 avant de les poster sur youtube, spotify etc? Ceci afin d'enfin peut-être un jour toucher des royalties...???! Merci
calixtus06, 20:10, lun. 10 mars 2025: Bonjour et bienvenue à ericmao91 :-)
bluedid29, 22:22, dim. 09 mars 2025: Merci pour l'édito !
allany, 21:15, dim. 09 mars 2025: Ben voilà... La vie c'est pas si mal tant qu'y a l'éditorial ! [Lien]
bluedid29, 10:27, dim. 09 mars 2025: Grand merci à olinuxx et bon dimanche :-)
calixtus06, 09:45, ven. 07 mars 2025: Bonjour et bienvenue à oupsman, MathiasR :-)