system timer interrupt targets for SMP platforms with local timer support

Christopher Harvey chris at basementcode.com
Tue May 17 19:56:54 EDT 2011


On 05/17/11 18:28, Mulyadi Santosa wrote:
> Hi Chris....
>
> On Wed, May 18, 2011 at 03:11, Christopher Harvey
> <chris at basementcode.com>  wrote:
>>   I'm having a hard time finding out by reading documentation and source
>>   code if a system timer IRQ is supposed to be directed at all cores of a
>>   processor or if just interrupting one core is enough.
>
> my take is if we don't use local timer interrupt, then logically
> (global timer) should interrupt all cores.
>
> I came to this understanding after recalling a fact that timer is a
> way to trigger rescheduling after a time slice of a task is expired.
> SInce we can't assume anything on which core a task is currently
> running, then it would be easier if we just send interrupt to all
> cores.
>
> Not sure if you are agree with my deduction above....
>

I half agree. The way I see it now, WITHOUT local timers a timer only 
needs to interrupt one core, and an IPI will interrupt the other.

My question is:
Does a global timer need to send an interrupt to both cores when local 
timers are enabled or is a a global timer interrupt on one core combined 
with the local timers enough?

Thanks



More information about the Kernelnewbies mailing list