> - 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/