[Tinyos-devel] Re: [Tinyos Core WG] Proposal for VariableSizedQueueC component

Philip Levis pal at cs.stanford.edu
Thu Sep 20 09:57:33 PDT 2007


On Sep 20, 2007, at 9:40 AM, Jan Hauer wrote:

>> A receive queue would
>> only help if the latency appears only between the RXFIFO.readDone and
>> its posted task.
>
> Yes, but this latency can be arbitrary.

Let me put this another way: if you have arbitrary task latencies,  
then the RXFIFO.readDone -> CC2420Receive.receive will not be your  
only worry; there are plenty of other places where it will occur,  
e.g., resource arbitration. This means that introducing a queue  
between the RXFIFO interrupt handler and the receive task will not  
solve the problem: you will still lose packets. Meanwhile, you're  
introducing an additional RAM requirement on the CC2420 stack.

If there were strong experimental evidence that the RXFIFO -> task  
latency is the dominant cause of packet drops, then David Moss (or  
application developers) could gauge the tradeoff between minimizing  
RAM utilization and improving packet delivery. But I think it's  
important to keep Amdahl's Law in mind.

Besides, if you have arbitrary task latencies, packet drops would be  
the least of your problems (e.g., timers).

Phil


More information about the Tinyos-devel mailing list