Титла: SMP IRQ problem Публикувано от: ntenev в Aug 03, 2004, 14:01 Здравейте. Имам следната ситуация:
--- Машина - DELL Workstation Precision 410 MT (BIOS A014) Процесори - 2 x P II (Deschutes) 350 MHz Linux - Slackware 10.0 Kernel - 2.4.26 --- Прекомпилирах ядро със SMP (Symetric Multi Processors) поддръжка и се започнаха следните аномалии: При зареждането на модула за eth0 (вградена - 3Com 3c905B 100BaseTX [Cyclone] (модул 3c59x.o) ), картата иска да използва IRQ 19, но извежда съобщение че най-вероятно няма да работи с това IRQ. След това като се опитам да я вдигна с ifconfig самия процес забива ( с ps ax дава STAT D+) а на конзолата изважда съобщения за грешки от ядрото от типа ooops и разни срашни цифри и букви след това. Гледах на сайта на DELL спецификацията на машината, но там са описани само до IRQ 15 (BIOS-а няма опция за промяна на IRQ-тата). И от BIOS-а и от опциите за компилиране на ядрото изключих поддръжките на APM и ACPI но и това не помага. В /proc/interrupts също не показва на кое IRQ е eth0. Мислех че картата не е в ред, но когато пусна Slackware със стандартното ядро за еднопроцесорни машини си я хваща, слага я на IRQ 11 и всичко си работи перфектно. Също така под Windows XP Pro SP 1 всичко също работи чудесно. И двата процесора и картата, която там работи именно на IRQ 19. Третото което опитах бе да компилирам драйвера статично. Резултата бе частичен успех. Разпознаве картата, слага я на IRQ > 15 и работи както си трябва. Само че там проблемите излязоха когато слагам други карти, чиито драйвери се зареждат като модули ... с тях я работи, я не (картите са читави). Това което ми прави впечатление (при сравняване на dmesg) е че при зареждане на ядрото със статично компилиран драйвер разпознаването на картата става точно преди разпознаването на PIIX4 IDE Controler, докато при ядрото с модул това става по-късно (при изпълнението на rc.modules). Казвам го защото IDE0 и IDE1 интерфейсите (и по спецификацията на DELL) работят на съответно IRQ 14 и IRQ 15. Да не би по някакъв начин те да са последните при регистриране на IRQ ? Целта ми е да имам 2 работещи процесора и всякакъв хардуер да може да се зарежда като модул. Търсих из google, сайта на DELL и архивите на различни linux-smp mail листи, но неможах да намеря нищо, което да ми подскаже дори откъде да започна да търся проблема. Ако някой се е сблъсквал с нещо подобно и/или има идея къде да търся причината за всичко това, ще съм благодарен ако го сподели. Поздрави ! Н. Тенев P.S. Това което искам да отбележа е че в случая търся решение, което да отстрани проблема, а не начин да го заобиколя. Знам че мога всеки път когато добавям ново устройство да прекомпилирам ядрото със статичните му драйвери, това ще е домашно сървърче така че ден-два без да работи докато му реша този или онзи проблем не са фатални ... но това си е заобикаляне. Имам нужда от решение по простата причина че ако се сблъскам (а и не само аз) с подобен проблем в работата си (където имам критични машини) е по-добре да има решение отколкото да търся заобиколен път нали ? Ако е възможно все пак ![]() Предварително Ви благодаря ! Титла: SMP IRQ problem Публикувано от: savel в Aug 03, 2004, 18:17 а пробва ли с 2.6 ядро ?
Титла: SMP IRQ problem Публикувано от: the_real_maniac в Aug 03, 2004, 19:11 Предполагам ,че говориш за сървър/рутер система, но все пак ядро 2.6.7 вече направи няколко месеца и за (предполагаеми) открити проблеми със сигурността са изезнали кръпки.
Така че и мойто предложение е сложи 2.6.7 ![]() м/удругото: доста софтуер , а и модули не работят в smp режим , или имат проблеми , така че прави проучваня ![]() И 2-ро м/удругото: аз позлвам 2.6.7 в smp режим и то доста време (вече) , и със самото ядро проблем нямам ! Имах проблем с алса-та и init-modules-tools ![]() ![]() ![]() Извод: Linux 2.46.7 ROCKS ![]() Титла: SMP IRQ problem Публикувано от: Nerf в Aug 03, 2004, 23:22 здр
голяма част от network card модулите имат вазможнос при зареждане ръчно да им се задава кое прекъсване да използват.
като xx го променяш на някое irq по твои "вкус" ако не стане от първия път не се очаиваи а пробваи с друго irq а може също и да изръчкаш google. и успех. Титла: SMP IRQ problem Публикувано от: savel в Aug 04, 2004, 02:56 няма да стане така нерф , тва е pci карта и модула не поддържа определяне така на irq
ntenev може да пробва да си настрои прекъсванията от BIOS или да види какво ще стане ако пусне 2.6 с ACPI Титла: SMP IRQ problem Публикувано от: ntenev в Aug 04, 2004, 15:27 Решението !
------------------ Оказа се че грешката е изцяло в мен ! Тъпо от моя страна, но всъщност има толкова много информация за Linux че понякога се обърквам от къде дазапочна търсенето на проблема. Рових google, DELL и mail листи а решението се оказа в /usr/doc/Linux-HOWTOs/SMP-HOWTO - точка 4 (4. How do I make a Linux SMP kernel?) Това което съм пропуснал да направя е след компилацията на ядрото да прекомпилирам и преинсталирам модулите. Явно има нещо което се променя в тях когато е включен smp и са изключени acpi и apm. Досега бях прекомпилирал само за еднопроцесорни машини и не съм се сблъсквал с подобен проблем ... може би съм имал късмет. Този проблем е решен ... сега мога вече да експериментирам и с разни други опции (модула cpuid.o), както и ядро 2.6 Поздрави ! Н. Тенев |