Skip to contentSkip to conversation

Timer interrupt cleanups [0/3]

PATCH In review Martin J. Bligh 1 participant 2 messages Jan 6, 2003

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 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 ??!!)

--------------------

#1 lore raw
Quoted 2 lines

Original calling graph looked like this, I'll update this for each patch to show what happens. Feel free to flame me, everyone.

I'll flame myself instead ... these have some global vs arch code hierarchy problems ... ignore them for now. I'll fix them tommorow.

M