web-dev-qa-db-fra.com

Comment ajuster la priorité IRQ dans Ubuntu 12.04?

La question dit tout. Je vois des tutoriels en ligne pour les éditions précédentes d’Ubuntu, mais j’ai du mal à passer à 12.04.

2
Paul

Des questions comme celle-ci sont très importantes lors de l'exécution d'applications audio professionnelles. Comme vous le voyez, et comme je l'ai moi-même maintes fois par le passé, Askubuntu.com a tendance à nous dire que nous n'avons pas besoin de réponse à ce type de questions. Pour ces questions très ciblées, vous trouverez une aide plus conviviale dans des endroits tels que le canal forum LinuxMusicians ou le canal OpenSourceMusicians IRC (# opensourcemusicians).

Je lance KX Studio (qui est une distribution audio professionnelle sur Kubuntu) et j’ai beaucoup d’aide sur les canaux #kxstudio et #ardour IRC.

Quoi qu'il en soit, voici comment vous le faites maintenant que je l'ai compris avec l'aide des ressources ci-dessus.

Utilisez ces commandes pour découvrir le bus USB et l'IRQ de votre périphérique audio:

  • lsusb (ou lsusb -t)
  • lspci (ou lspci -v)
  • cat/proc/interrupts

Dans mon cas, mon interface audio USB est ehci_hcd: usb2 sur IRQ 23. Il n’est peut-être pas facile de le comprendre, mais si vous faites une référence croisée aux listes ci-dessus, vous découvrirez quelle IRQ est intéressante après un travail de détective. Voir ci-dessous pour plus de conseils.

Ensuite, installez rtirq
Voir le Wiki Ubuntu:
https://wiki.edubuntu.org/UbuntuStudio/rtirq

Maintenant, éditez le fichier/etc/default/rtirq (comme Sudo). Et cherchez la ligne contenant RTIRQ_NAME_LIST=

Si vous voulez que l'IRQ 23 ait la priorité la plus élevée, ajoutez-la au début de la liste, comme suit:

RTIRQ_NAME_LIST="23 usb i8042 snd"

Cependant, dans mon cas, je préférerais utiliser le nom du périphérique au cas où l'attribution d'IRQ changerait pour un reaason inconnu. Donc je le spécifie comme ceci:

RTIRQ_NAME_LIST="ehci_hcd:usb2 usb i8042 snd"

Il suffit de placer le périphérique (ou IRQ) au début de la liste pour la priorité la plus élevée. C'est une liste délimitée par des espaces.

Enregistrez le fichier, puis exécutez:

Sudo /etc/init.d/rtirq restart

Il n'y a pas besoin de redémarrer. Vous verrez les priorités IRQ résultantes répertoriées à partir de la commande ci-dessus. Mais si vous voulez les revoir plus tard, lancez:

Sudo /etc/init.d/rtirq status

Et vérifiez cat /proc/interrupts si vous le souhaitez.

Quelques astuces supplémentaires, comme promis:

Utilisation de lsusb J'ai constaté que mon interface audio était connectée au bus USB 001, périphérique 003.

Ensuite, en utilisant lspci -v, j'ai découvert que j'avais 3 contrôleurs USB. J'ai trouvé un répertorié comme ceci: 00:1d.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1. Les drapeaux dans cette liste incluent ceux-ci: Flags: bus master, medium devsel, latency 0, IRQ 23. Donc, en supposant que j'ai choisi le bon contrôleur USB (celui qui contrôle le bus 01), ces drapeaux m'ont indiqué que l'IRQ 23 m'intéressait.

Ensuite, /proc/interrupts m'a dit que le nom de périphérique ehci_hcd:usb2 était associé à l'IRQ 23.

J'ai également utilisé tree /sys/bus/usb/drivers/usb/ et cat /proc/asound/cards pour faire référence croisée à des informations afin de sélectionner le bon contrôleur USB.

Vous pouvez également trouver utile le script Perl suivant:
realTimeConfigQuickScan.pl

1
MountainX

En règle générale, il n'est pas nécessaire d'ajuster la priorité IRQ sauf si vous rencontrez des problèmes particuliers et souhaitez appliquer des options de démarrage telles que irqpoll et d'autres options répertoriées sous wiki Ubunt . Il est préférable de laisser le noyau les gérer ou de rechercher dans votre bios des options, car ce sera le meilleur endroit pour la configuration.

Cependant, vous vous référez probablement au paquet hwtools qui était disponible avant même Hardy (8.04) et qui contenait le programme irqtune; Cet utilitaire vous permet de modifier les IRQ des périphériques série tels que les modems, ce qui était dit dans le passé pour améliorer parfois les performances. Les ports série sont rarement utilisés de nos jours, mais il peut y avoir des paramètres dans le bios pour les activer/désactiver et les ajuster.

Cependant, il existe un programme dans les référentiels appelé irqbalance , qui est conçu uniquement pour les CPUS multicœurs. Il y a plus d'informations ici, mais cela peut ne pas vous convenir car il s'agit davantage de l'équilibrage de la charge du serveur.

Si vous souhaitez répertorier vos ports IRQ sous Ubuntu, vous pouvez exécuter cat /proc/interrupts ou installer la version de la prochaine génération du programme procinfo et l'exécuter, ainsi que lsdev pour obtenir des informations complémentaires. Voici un exemple de sortie de procinfo, très réduite, qui aidera à identifier vos IRQ:

irq   0:         49  timer               irq  15:      30500  pata_sis         
irq   1:      18634  i8042               irq  17:      78117  firewire_ohci, ye
irq   6:          3  floppy              irq  18:         82  snd_intel8x0     
0
user76204