[Tinyos-host-mote-wg] Re: [Tinyos-2.0wg] proposed Scheduler interface change

Cory Sharp cory at moteiv.com
Sat Oct 15 11:36:35 PDT 2005


What does the optimized taskLoop() code look like?  - Cory

On 10/15/05, David Gay <dgay42 at gmail.com> wrote:
> I'd like to propose changing the scheduler interface to
> interface Scheduler {
>
>   /** Initialize the scheduler.*/
>   command void init();
>
>   /** Run the next task if one is waiting, otherwise return immediately. The
>     * return value indicates whether a task was run -- TRUE indicates a task
>     * ran, FALSE indicates there was no task to run.
>     */
>   command bool runNextTask( );
>
>   /**
>    * Enter an infinite task-running loop. Put the MCU into a low power
>    * state when the processor is idle (task queue empty, waiting for
>    * interrupts).
>    */
>   command void taskLoop();
> }
>
>
> The old interface had no taskLoop command, instead the runNextTask
> command took a sleep parameter indicating whether the processor should
> atomically sleep if the task queue was empty.
>
> Rationale: the performance of the main TinyOS loop (aka, the proposed
> taskLoop command) is important because it affects minimum power
> consumption. It's much easier to optimise it as a whole, rather than
> when constrained by the old runNextTask interface (just in case you're
> wondering, this does produce a factor of 6 improvement in CPU cycles
> on a "send one message per second  with the radio on" app).
>
> Minor related change: __nesc_atomic_sleep should disable interrupts
> after the sleep completes. This isn't really necessary, but it makes
> its use inside an atomic section cleaner.
>
> David
>
> _______________________________________________
> Tinyos-2.0wg mailing list
> Tinyos-2.0wg at Mail.Millennium.Berkeley.EDU
> https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-2.0wg
>

_______________________________________________
Tinyos-2.0wg mailing list
Tinyos-2.0wg at Mail.Millennium.Berkeley.EDU
https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-2.0wg


More information about the Tinyos-host-mote-wg mailing list