вторник, 3 апреля 2012 г.

Linux. Disabling IRQ #16



Недавно на новой машине ставил Debian. Сталкнулся со следующей проблемой : периодически получаю сообщение вида :


kernel:[ 171.271001] Disabling IRQ #16




После этого начинает жутко тормозить система, процессоры сходят с ума выдавая нереальные проценты загрузки даже при всех закрытых приложениях. 
Перепробовал Squeeze,Wheeze,Ubuntu. Перерыл интернет но достаточно хорошего решения не нашёл. Начну с того что мне помогло.


Читая форумы в поисках решения, как оказалось я был недостаточно внимателен и пропустил вариант решения который в итоге мне помог.


Примерно вот такой текст нам должен выдавать dmesg:



[ 7039.275476] irq 16: nobody cared (try booting with the "irqpoll" option)
[ 7039.275479] Pid: 0, comm: swapper Not tainted 3.1.6-gentoo #2
[ 7039.275480] Call Trace:
[ 7039.275481]  <IRQ>  [<ffffffff81085a29>] __report_bad_irq+0x2e/0xc1
[ 7039.275488]  [<ffffffff81085d48>] note_interrupt+0x165/0x1e1
[ 7039.275490]  [<ffffffff810843cb>] handle_irq_event_percpu+0x157/0x199
[ 7039.275492]  [<ffffffff81084440>] handle_irq_event+0x33/0x4f
[ 7039.275494]  [<ffffffff8108646b>] handle_fasteoi_irq+0x75/0x9a
[ 7039.275496]  [<ffffffff810039e7>] handle_irq+0x83/0x8b
[ 7039.275498]  [<ffffffff810036af>] do_IRQ+0x48/0xa0
[ 7039.275500]  [<ffffffff814eb0ab>] common_interrupt+0x6b/0x6b
[ 7039.275501]  <EOI>  [<ffffffff8126355c>] ? acpi_idle_enter_bm+0x202/0x236
[ 7039.275505]  [<ffffffff81263557>] ? acpi_idle_enter_bm+0x1fd/0x236
[ 7039.275508]  [<ffffffff813b5b06>] cpuidle_idle_call+0xe1/0x17d
[ 7039.275510]  [<ffffffff81001257>] cpu_idle+0x55/0x81
[ 7039.275513]  [<ffffffff814d6069>] rest_init+0x6d/0x6f
[ 7039.275515]  [<ffffffff81ad4a46>] start_kernel+0x2db/0x2e6
[ 7039.275517]  [<ffffffff81ad4270>] x86_64_start_reservations+0x80/0x84
[ 7039.275519]  [<ffffffff81ad4366>] x86_64_start_kernel+0xf2/0xf9
[ 7039.275520] handlers:
[ 7039.275523] [<ffffffff81291c6f>] nouveau_irq_handler
[ 7039.275525] [<ffffffff813428af>] usb_hcd_irq
[ 7039.275528] [<ffffffff81420747>] azx_interrupt
[ 7039.275530] [<ffffffff81333486>] rtl8139_interrupt
[ 7039.275531] Disabling IRQ #16



Возможно не ( как писали на некоторых форумах ) очень правильное но действенное решение я вычитал в логах убунты.


Можно передать ядру параметр irqpoll. Прописывается это в /boot/grub/grub.cfg




Полезные ссылки: одын, два


Комментариев нет:

Отправить комментарий