Are multi-core timer interrupts staggered?
Posted: Sun Jul 06, 2025 7:04 pm
For a multi-core system, do all cores typically receive a timer interrupt at the same time or is it staggered? And how is it staggered?
Currently in the FMTK OS all CPU cores are receiving a timer interrupt for scheduling. Instead of the timer interrupt being broadcast to all cores, it should be probably be staggered. I suspect there would be a lot of contention for the system lists with all cores processing the timer interrupt at the same time. Supporting staggered interrupts is probably a non-trivial modification to the interrupt controller. Instead of it having a broadcast as the destination core, it would need to be able to rotate the destination core. The timer interrupt would then need to happen N times as often.
Currently in the FMTK OS all CPU cores are receiving a timer interrupt for scheduling. Instead of the timer interrupt being broadcast to all cores, it should be probably be staggered. I suspect there would be a lot of contention for the system lists with all cores processing the timer interrupt at the same time. Supporting staggered interrupts is probably a non-trivial modification to the interrupt controller. Instead of it having a broadcast as the destination core, it would need to be able to rotate the destination core. The timer interrupt would then need to happen N times as often.