Timer interrupt cleanups [0/3]

Timer interrupt cleanups [0/3]

Post by Martin J. Blig » Tue, 07 Jan 2003 04:40:05



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

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

 
 
 

Timer interrupt cleanups [0/3]

Post by Martin J. Blig » Tue, 07 Jan 2003 08:50:04


Quote:> 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

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/