[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