For smp, is it possible that a timer can be run at the same time on different cpus?
Hi all: The kernel I use is 2.6.29-rc3 and among the timer_list function there is "add_timer_on". For smp, Is it possible for a timer to be run at the same time on different cpus? suppose the following sequence: 1. a timer is being run on CPU 0, and the timer callback function use add_time_on to add itself on CPU 1; the expires is set to "jiffies + 0" to make it to be run as quickly as possible on CPU 1. 2. so there is chance that 2 cpus run the same timer at the same time? I'm not sure whether the above can be true. Whether there is other way to make a time run at the same time on different cpu? If it can happen, the timer callback function must take smp safe into consideration. Regards Rednoah
Hi.... :) On Tue, Jul 10, 2012 at 9:02 AM, rednoah <rednoax@gmail.com> wrote:
Hi all: The kernel I use is 2.6.29-rc3 and among the timer_list function there is "add_timer_on". For smp, Is it possible for a timer to be run at the same time on different cpus? suppose the following sequence: 1. a timer is being run on CPU 0, and the timer callback function use add_time_on to add itself on CPU 1; the expires is set to "jiffies + 0" to make it to be run as quickly as possible on CPU 1. 2. so there is chance that 2 cpus run the same timer at the same time?
Interesting issue :) IMHO, even though you ask for "jiffies+" a.k.a current time, scheduling delay will make it run in the very very near future. This is plus the fact that I know that timer is running everytime time interrupt is receieved... so IMHO that very near future is actually jiffies+1 (current time + (1/HZ)) I might be wrong here though :) -- regards, Mulyadi Santosa Freelance Linux trainer and consultant blog: the-hydra.blogspot.com training: mulyaditraining.blogspot.com
participants (2)
-
Mulyadi Santosa -
rednoah