I noticed the speed up because I measured the time to execute a heavy task. About the application, I am using TinyOS as the platform for my research language. The language has a primitive to run heavy tasks, but the runtime needs to interrupt them when an external event triggers. Thanks for the answer.
-- Francisco Sant'Anna http://www.lua.inf.puc-rio.br/~francisco/ 2011/9/15 João Gonçalves <[email protected]> > 2- do these synchronous events end up in the task queue? > > > if you trace down a call to startOneShot() or startPeriodic() you'll see > that there are things ending up in the queue. > That should not be a problem because TinyOS tasks are suposed to be short > and not suposed to keep the rest of the system (the synchronous code) > waiting for them to finish. > >> >> I assumed that they do end up in the task queue. >> That said, I included in the file SchedulerBasicP.nc (and corresponding >> interface) the following command: >> >> command bool Scheduler.isEmpty () >> { >> return m_head == NO_TASK; >> } >> >> Hence, instead of continuously re-scheduling a heavy duty task, I first >> check if there is a pending task (e.g. Timer.fired). >> It seems to be working correctly, the sample application boosted 10x, but >> I am not 100% sure about my approach. >> >> What application are you using, and how did you get to notice that 10x? > >
_______________________________________________ Tinyos-help mailing list [email protected] https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
