[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: kernel: Disabling IRQ...



Alexey Lobanov пишет:
Hi all.

Есть старый двухпроцессорный сервер. Зависал без видимой причины он давно, поменять железо я хотел ещё в 2004 году. Но так и не поменял, уволился. После меня - тоже не поменяли :-)

После апгрейда ядра с 2.4.25 на 2.6.23 стало совсем плохо. При большой нагрузке на сеть (Intel Ethernet Pro 100) или на IDE диски (карточки с CMD 648, CMD 649) через несколько минут ядро отключает прерывание нагруженного PCI устройства, примерно так:

Nov 26 11:52:29 woody kernel: irq 17: nobody cared (try booting with the "irqpoll" option)

Nov 26 11:52:29 woody kernel: Disabling IRQ #17

В данном случае это пострадал IDE-контроллер CMD-649, повод - 5 минут активного копирования с диска на диск. Далее, естественно,

Nov 26 11:52:49 woody kernel: hdk: dma_timer_expiry: dma status == 0x24 - и половина дисковой подсистемы умерла.

Упомянутый параметр загрузки "irqpoll" не меняет в поведении системы абсолютно ничего. Равно как ничего (кроме номеров прерываний) не меняют irqfixup, nosmp, noacpi.

Говорить "noapic" не пробовал, но он вроде как входит в nosmp - "SMP mode deactivated, forcing use of dummy APIC emulation".

Чипсет там странный. Broadcom он же ServerWorks CNB20LE.

Вопрос: что ещё можно покрутить в параметрах ядра и его загрузки для получения устойчивой работы? Можно с ущербом для производительности. Откат на старое ядро, увы, не проходит - по другим причинам. Да оно и там висло, только без диагностики.

А.Л.



Вообще-то если пишешь что отключает разные устройства то надо приводить все примеры. В данном случае похоже что проблемыы с DMA у контроллера HDD. Постарайся средствами BIOS или тусованием плат разнести DMA контроллер на отдельное прерывание.

Вообще неплохо-бы еще сюда cat /proc/interrupts - Чтобы видно было что там у тебя творится.


Oleg.



Reply to: