On Thu, Jul 7, 2011 at 13:58, Vishal Thanki <vishalthanki@xxxxxxxxx> wrote: > On Thu, Jul 7, 2011 at 12:19 PM, Mulyadi Santosa > <mulyadi.santosa@xxxxxxxxx> wrote: >> Hi.. >> >> Trying to add another perspective, feel free to take or not :) >> >> On Wed, Jul 6, 2011 at 23:52, Prashant Shah <pshah.mumbai@xxxxxxxxx> wrote: >>> >>> void timfunc(unsigned long data) >>> { >>> printk("hi this is a timer %lu\n", data); >>> set_current_state(TASK_INTERRUPTIBLE); >>> schedule_timeout(10 * HZ); >>> printk("hi again this is a timer after timeout %lu\n", data); >>> } >>> >>> static int __init init_testmod(void) >>> { >>> init_timer(&tim); >>> tim.expires = jiffies + HZ*5; >>> tim.data = 1000; >>> tim.function = timfunc; >>> add_timer(&tim); >>> return 0; >>> } >> >> If my brain still works correctly, then I think the core of the >> problem is that you're doing schedule() inside timer function. The >> thing is, timer function is running in bottom halves...or in other >> word, you are not supposed to do that in interrupt-handler alike >> function. >> >> What you need to do in order to wake up ten minutes later (10*HZ) is > > 10*HZ is for 10 mins or for 10 seconds? whoops sorry, it should be 10*HZ=10 seconds...thanks for noticing the error :) -- regards, Mulyadi Santosa Freelance Linux trainer and consultant blog: the-hydra.blogspot.com training: mulyaditraining.blogspot.com _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies