Re: Timers in SMP

Ingo Molnar (mingo@chiara.csoma.elte.hu)
Thu, 18 Feb 1999 20:06:51 +0100 (CET)


On Thu, 18 Feb 1999, Hugo Varotto wrote:

> - which CPU is interrupted by the timer ? Is it always the same ? If
> not, where should I look to the mechanism of CPU selection ?

on SMP, there is not only one timer, but one timer per CPU. This is done
through the local-APIC timer. So you get periodic interrupt on every CPU,
every 10 msecs. The 'old' timer interrupt is active too, but it only does
generic timekeeping and timer-function running. (jiffies, time adjustment,
etc.). In 2.3 we definitely want to distribute timers between CPUs, this
is not hard at all.

> - if we wish the interrupted CPU to preempt some of the other CPUs, is
> this possible ? I understand there are some kind of interrupt mechanism
> between CPUs.

yep, it's done via smp_send_reschedule(cpu). Whenever we think another CPU
should be interrupted, we send a message.

-- mingo

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/