Hello! At Thu, 22 Mar 2007 15:49:29 +0300, Max Dmitrichenko wrote:
>> Есть роутер под приличной нагрузкой. Основная нагрузка лежит на 2 >> сетевухи: eth0 и eth1 >> # cat /proc/interrupts >> CPU0 >> 0: 39276550 XT-PIC timer >> 1: 44 XT-PIC i8042 >> 2: 0 XT-PIC cascade >> 5: 62000376 XT-PIC VIA686A, eth1 >> 6: 2 XT-PIC floppy >> 7: 0 XT-PIC parport0 >> 8: 1 XT-PIC rtc >> 10: 0 XT-PIC uhci_hcd:usb1, uhci_hcd:usb2, eth2 >> 11: 82591804 XT-PIC acpi, eth0, eth3 >> 12: 14786 XT-PIC i8042 >> 14: 333266 XT-PIC ide0 >> NMI: 0 >> LOC: 0 >> ERR: 0 >> MIS: 0 >> Как видно eth0 и eth1 сидят на своих IRQ вместе с другими устройствами. >> Возможно ли как-то монопольно посадить eth0 на одно IRQ, а eth1 на >> другое, всё остальное можно в кучу? >> Кто вообще рассаживает устройства по IRQ? > Есть IRQ, которые отведены под legacy устройства, а есть IRQ, которые > отведены > под остальные устройства. > Legacy устройства не могут разделять одно IRQ, так как они генерируют > прерывание > по фронту (Edge interrupt). К ним относятся прерывания таймера, > последовательных > и параллельных портов, флоппи, клавиатуры, RTC. Поэтому прерывания 0, 1, 2, > 3, 4, > 6, 7, 8, 12 забиты под эти устройства и никем не могут больше использоваться. > Теоретически некоторые номера прерываний можно поменять, но делает это как > правило > BIOS, так как этот процесс весьма зависит от LPC контроллера, припаянного на > мать. > К сожалению не помню точно, что касается IDE, а искать сейчас лень, но > по-моему их > тоже нельзя шарить, то есть отпадают ещё 14ое и 15ое (у тебя видимо на IDE1 > никого > нет, но его все равно не поюзаешь). > Контроллер прерывания у тебя PIC i8259A; на нем всего может быть 16 IRQ с > номерами > от 0 до 15. Таким образом остаются незадействованными прерывания 5, 9, 10, > 11 и 13. В принципе, 3, 4, 5, 7, 9, 10, 11, 12, 14, 15 использовать можно на pci или даже на isa. Irq 13 предназначется сопроцессору, 6 может роутиться на isa (за pci не скажу), если отключен встроенный fdc. Возможность шарить существует и в случае срабатывания по фронту, только железки должны быть соответствущие, их, кстати, не очень мало. Другое дело, что legacy хоть и забирают по целому прерыванию, но в данном случае совсем не мешают, еще не все прочие устройства могут садиться на отличное от 9-12, у них так унутри устроено. Btw идею отправить eth0 в пустой слот на irq 9 поддерживаю, не факт, что eth3 успешно подсядет на irq 5 к ac97 вместо eth1, и это всего одна перестановка. А eth0 не встроенная случайно? Michael

