Как настроить приоритет IRQ в Ubuntu 12.04?

Вопрос говорит сам за себя. Я вижу некоторые учебники в Интернете для более ранних выпусков Ubuntu, но мне тяжело 12.04.

2
задан 8 December 2012 в 19:36

2 ответа

Как правило, нет необходимости настраивать приоритет IRQ, если у вас нет особых проблем и вы хотите применить параметры загрузки, такие как irqpoll и другие, перечисленные в Ubuntu wiki . Лучше всего позволить ядру управлять ими или посмотреть в ваших биографиях какие-либо параметры, так как это будет наилучшим местом для конфигурации.

Однако вы, вероятно, имеете в виду пакет hwtools , который был доступен еще до Hardy (8.04) и который содержал программу irqtune; эта утилита позволяет настраивать IRQ последовательных устройств, таких как модемы, что, как говорили в прошлом, иногда улучшало производительность. Последовательные порты редко используются в наши дни, но в bios могут быть настройки для их включения / отключения и настройки.

Однако в репозиториях есть программа под названием irqbalance , которая предназначена только для многоядерных CPUS. Здесь есть дополнительная информация , но она может не подходить для вас, так как это больше связано с балансировкой нагрузки на сервер.

Если вы хотите перечислить свои порты IRQ в Ubuntu, вы можете запустить cat /proc/interrupts или установить версию procinfo следующего поколения и запустить ее и сопровождающий lsdev для получения дополнительной информации. Вот пример выходных данных procinfo, очень сильно урезанный, который поможет идентифицировать ваши 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
ответ дан 8 December 2012 в 19:36

Подобные вопросы очень важны при запуске профессиональных аудио приложений. Как видите, и как я уже много раз переживал в прошлом, Askubuntu.com имеет тенденцию говорить нам, что нам не нужен ответ на подобные вопросы. По этим узко сфокусированным вопросам вы найдете более дружелюбную помощь в таких местах, как форум LinuxMusicians или IRC-канал OpenSourceMusicians (# opensourcemusicians).

Я запускаю KX Studio (это профессиональный дистрибутив аудио поверх Kubuntu), и я получил большую помощь как на IRK-каналах #kxstudio, так и #ardour.

В любом случае, вот как вы это делаете сейчас, когда я понял это с помощью вышеуказанных ресурсов.

Используйте эти команды для обнаружения шины USB и IRQ вашего аудиоустройства:

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

В моем случае мой аудиоинтерфейс USB имеет вид ehci_hcd: usb2 на IRQ 23. Это может быть непросто выяснить, но если вы сделаете перекрестную ссылку на вышеупомянутый списки вы выясните, какой IRQ представляет интерес после некоторой детективной работы. Ниже приведены дополнительные советы.

Далее установите rtirq
См. Вики Ubuntu:
https://wiki.edubuntu.org/UbuntuStudio/rtirq

Сейчас отредактируйте файл / etc / default / rtirq (как sudo). И найдите строку, содержащую RTIRQ_NAME_LIST=

Если вы хотите, чтобы IRQ 23 имел наивысший приоритет, добавьте его в начало списка следующим образом:

RTIRQ_NAME_LIST="23 usb i8042 snd"

Однако в В моем случае я бы предпочел использовать имя устройства на случай, если назначение IRQ изменится по неизвестной причине. Поэтому я определяю это так:

RTIRQ_NAME_LIST="ehci_hcd:usb2 usb i8042 snd"

Просто поместите устройство (или IRQ) в начале списка для наивысшего приоритета. Это список, разделенный пробелами.

Сохраните файл и запустите:

sudo /etc/init.d/rtirq restart

Перезагрузка не требуется. Вы увидите результирующие приоритеты IRQ, перечисленные в приведенной выше команде. Но если вы хотите увидеть их позже, запустите:

sudo /etc/init.d/rtirq status

и отметьте cat /proc/interrupts, если хотите.

Некоторые дополнительные советы, как и было обещано:

Используя lsusb, я обнаружил, что мой аудиоинтерфейс был на USB-шине 001 Устройство 003.

Далее, используя [ 117] Я обнаружил, что у меня есть 3 контроллера USB. Я нашел один в списке, как это: 00:1d.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1. Флаги в этом списке включали эти: Flags: bus master, medium devsel, latency 0, IRQ 23. Итак, если я выбрал правильный USB-контроллер (тот, который управляет шиной 01), эти флаги сказали мне, что я заинтересован в IRQ 23.

Затем, /proc/interrupts сказал мне, что IRQ 23 имеет имя устройства ehci_hcd:usb2, связанное с ним.

Я также использовал tree /sys/bus/usb/drivers/usb/ и cat /proc/asound/cards для перекрестной ссылки на информацию, чтобы выбрать правильный USB-контроллер.

Также вам может пригодиться следующий скрипт на Perl:
realTimeConfigQuickScan.pl

0
ответ дан 8 December 2012 в 19:36

Другие вопросы по тегам:

Похожие вопросы: