Missed interrupts. Is it a trouble?

Hello, dear all.

I got messages like these:
wctdm24xxp0: Missed interrupt. Increasing latency to 17 ms in order to compensate.
wcte12xp0: Missed interrupt. Increasing latency to 17 ms in order to compensate.

Does anybody can tell me what I have to do ?

I have two cards. E1 and 2400p. In different PCI slots.
Look:
01:09.0 Ethernet controller: Digium, Inc. Wildcard TDM2400P (rev 11)
Subsystem: Digium, Inc. Wildcard TDM2400P
Flags: bus master, medium devsel, latency 64, IRQ 5
I/O ports at e800
Memory at dffffc00 (32-bit, non-prefetchable)
Expansion ROM at dffc0000 [disabled]
Capabilities: [c0] Power Management version 2

01:0a.0 Ethernet controller: Digium, Inc. Unknown device 8001 (rev 11)
Subsystem: Digium, Inc. Unknown device 8001
Flags: bus master, medium devsel, latency 64, IRQ 7
I/O ports at e400
Memory at dffff800 (32-bit, non-prefetchable)
Expansion ROM at dffa0000 [disabled]
Capabilities: [c0] Power Management version 2

IRQ dedicated to cards.
Kernel command line: auto BOOT_IMAGE=ALTLinux ro root=UUID=7349fe1c-ef1e-495f-a380-3d35568c9397 acpi=off panic=30

But in dmesg I found that:
Nvidia board detected. Ignoring ACPI timer override.
If you got timer trouble try acpi_use_timer_override

Missed interrupts ans missed answers :smile:
I fixed this problem. APCI and APIC turned on.

[quote=“rad1”]Missed interrupts ans missed answers :smile:
I fixed this problem. APCI and APIC turned on.[/quote]

Rad, I’m having a similar issue. Just to clarify, did you turn APCI/APIC on, or turn it off, to fix the issue? Also, did you turn it off in your bios or in kernel boot parameters?

Regards,
Michael.

[quote=“mjy78”]
Rad, I’m having a similar issue. Just to clarify, did you turn APCI/APIC on, or turn it off, to fix the issue? Also, did you turn it off in your bios or in kernel boot parameters?[/quote]

ACPI & APIC turned on.
Card must have exclusive IRQ.
on NVidia motherboards look for warnings in dmesg.

I checked and I do have this turned on already. I’m running a dual core Intel processor and in the end I noticed interrupts for all devices were being sent to the 1st core (CPU0) by running…

cat /proc/interrupts

So I tried moving the interrupts for the digium card to the second core (CPU1) by changing the IRQ affinity…

echo 2 > /proc/irq/233/smp_affinity (where 233 is the IRQ for the digium device)

…and presto! Instant improvement. The results from /sbin/zttest instantly went from averaging well below 99.98% to almost 100% with absolutely no individual results below 99.98%.

So in the end I’m not sure which device the digium card was conflicting with, but moving its interrupts to the second core seems to have solved the issue.

It’s also interesting to note, that even though all IRQs have there affinity set to 3 (1 + 2) which means they are allowed to send interrupts to either core, it seems all interrupts are only ever being sent to the first core. Is this expected behavior?

I’ve now added “echo 2 > /proc/irq/233/smp_affinity” to my /etc/rc.local to ensure this is set every time the system boots (as it defaults back to 3).

EDIT I still get the “wctdm24xxp0: Missed interrupt. etc…” warnings during boot, but I’m guessing this is because the card is initialised before the /etc/rc.local moves its interrupts to the second cpu/core. So I’m not too worried about it.