[Hardware] смена IRQ средствами ОС

Sergey Vlasov vsu на altlinux.ru
Пт Апр 22 18:28:43 MSD 2005


On Thu, Apr 21, 2005 at 02:31:11PM +0900, Хлызов А.А. wrote:
> Подскажите, можно ли как-нибудь сделать такую вещь: у меня есть звук (SB
> PCI128) и SCSI контроллер (Adaptec ASC-39320). Они занимают один IRQ, посему
> - когда идет обращение к SCSI, звук начинает хрипеть и пропадать. Можно ли
> как -нить средствами ОС разрулить эту вещь? В оффтопике это делается легко,
> как в линуксе?

И в оффтопике это не делается.  Раньше на все PCI-устройства было
максимум 4 линии запроса прерывания; сейчас чаще всего 4 для
PCI/AGP-слотов и ещё 4 для встроенных устройств (хотя на некоторых
платах часть встроенных устройств залезает и на PIRQ, используемые
PCI-cлотами).  Какие-то слоты в любом случае будут использовать общие
прерывания; в документации материнской платы можно поискать
соответствующую таблицу.

Программно ситуацию можно только ухудшить, назначив нескольким
сигналам PIRQ один номер IRQ.  Впрочем, при использовании режима PIC
вместо более современного APIC это происходит почти всегда, поскольку
в режиме PIC доступно только 16 IRQ, большая часть которых занята
legacy-устройствами.

> # lspci | egrep -i "audio|scsi"
> 0000:00:08.0 SCSI storage controller: Adaptec ASC-39320 U320 (rev 03)
> 0000:00:08.1 SCSI storage controller: Adaptec ASC-39320 U320 (rev 03)
> 0000:00:0b.0 Multimedia audio controller: Ensoniq ES1371 [AudioPCI-97] (rev
> 08)
> 
> # cat /proc/interrupts | egrep -i "aic|ensoniq"
>  17:    2983717   IO-APIC-level  eth0, aic79xx
>  19:    9603597   IO-APIC-level  Ensoniq AudioPCI, aic79xx

Уже используется режим APIC, поэтому остаётся только переставлять
платы в другие слоты.
-------------- next part --------------
z'╣ЛmjшZr··э╡г+╧╤чtж╕zz-jЖ╒∙╕Еy<╘y╙i√'╤*'Ч≤)╡('jш╚y(Ё{_=o+^╟7╛rz-jЖ╒∙╕ЕyJЕ├шiЪЫb╡ш√ыb·Лk╩Зb╔ЙФj)┘╙ща╙чЩ╚miхfz{lЪm4ГN6шЩvЦ╝wК©з╤ж°├g╖╣╦╖


Подробная информация о списке рассылки Hardware