fix timer interrupts getting lost
PATCH 1/1 fix timer interrupts getting lost
This patch fixes the issue of some CPUs not showing timer interrupts
going off. Seems during the process of sync'ing the itc, we jumped over the next timer value. This patch is against 2.5.67 + ia64. I haven't seen the problem on 2.4, but a quick looks seems like it's potentially an issue there too. Thanks,
Alex
--
Alex Williamson HP Linux and Open Source Lab
arch/ia64/kernel/smpboot.c +9 -0
@@ -311,6 +311,15 @@*/ Dprintk ("Going to syncup ITC with BP.\n" );ia64_sync_itc (0 ); + +/* +* Make sure we didn't sync the itc ahead of the next +* timer interrupt, if so, just reset it. +*/ +if (time_after (ia64_get_itc (),local_cpu_data->itm_next)) { +Dprintk ("oops, jumped a timer.\n" ); +ia64_cpu_local_tick (); + } }/*
Thanks Alex!
This patch fixed the problem I reported before. And I could observe some "oops jumped a timer." messages (with debug flag enabled).
Quoted 15 lines
This patch fixes the issue of some CPUs not showing timer interrupts
going off. Seems during the process of sync'ing the itc, we jumped over the next timer value. This patch is against 2.5.67 + ia64. I haven't seen the problem on 2.4, but a quick looks seems like it's potentially an issue there too. Thanks,Quoted 9 lines
Hi,
Thanks to Alex's fixes for PCI segment support, we could boot 2.5.67 kernel on Tiger. But a strange thing is happening. Only cpu0 & 1 are getting timer interrupts and cpu 2 & 3 aren't. This problem is reproducible and we see this phenomenon after every boot. It seems that these cpus stop receiving timer interrupts after a very short while.
Has anyone seen this?
Thanks,
---
Takayoshi Kochi <[email protected]>
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line · Alex Williamson
Alex> This patch fixes the issue of some CPUs not showing timer Alex> interrupts going off. Seems during the process of sync'ing Alex> the itc, we jumped over the next timer value. This patch is Alex> against 2.5.67 + ia64. I haven't seen the problem on 2.4, but Alex> a quick looks seems like it's potentially an issue there too. Alex> Thanks,
Good catch. I applied this patch now.
The reason it started to show up on 2.5 now is mostly likely because I had to move the ITC syncing to a point where interrupts are enabled.
--david
Bjorn Helgaas
AppliedQuoted 6 lines · Alex Williamson
This patch fixes the issue of some CPUs not showing timer interrupts
going off. Seems during the process of sync'ing the itc, we jumped over the next timer value. This patch is against 2.5.67 + ia64. I haven't seen the problem on 2.4, but a quick looks seems like it's potentially an issue there too. Thanks,
I applied this for 2.4 also. Thanks!