Messages in this thread | | | Date | Sun, 05 Jan 2003 18:32:09 -0800 | From | "Martin J. Bligh" <> | Subject | [PATCH] Timer interrupt cleanups [0/3] |
| |
Well, I tested these on the NUMA-Q and they seem to work. Basically (as discussed previously) they rename the stuff off the global timer to global_timer_* and the stuff off the local timer to local_timer_*. Then I tried to clean up the cross-calling ifdef madness. There are various corner cases, so it's possible I screwed something up, but I think it's OK.
Original calling graph looked like this, I'll update this for each patch to show what happens. Feel free to flame me, everyone.
--------------------
Assuming we're SMP with a local apic timer all firing away:
timer_interrupt do_timer_interrupt {ack the interrupt} do_timer_interrupt_hook do_timer jiffies_64++; update_times {update CMOS clock} (In the interrupt still ??!!)
apic_timer_interrupt smp_apic_timer_interrupt {ack the interrupt} smp_local_timer_interrupt x86_do_profile update_process_times
--------------------
On UP with local apic timer:
timer_interrupt do_timer_interrupt {ack the interrupt} do_timer_interrupt_hook do_timer jiffies_64++; update_process_times update_times {update CMOS clock} (In the interrupt still ??!!)
apic_timer_interrupt smp_apic_timer_interrupt {ack the interrupt} smp_local_timer_interrupt x86_do_profile
--------------------
On a UP 386 with stale crusty breadcrumbs, and no local timer: timer_interrupt do_timer_interrupt {ack the interrupt} do_timer_interrupt_hook do_timer jiffies_64++; update_process_times update_times x86_do_profile() {update CMOS clock} (In the interrupt still ??!!)
--------------------
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |