[net2-wg] 600 pps, high throughput

Philip Levis pal at cs.stanford.edu
Mon Mar 13 15:03:42 PST 2006


On Mon, 2006-03-13 at 23:54 +0100, henri dubois-ferriere wrote:
> On 13/03/06, Philip Levis <pal at cs.stanford.edu> wrote:
> 
> > If the idle time per packet is I, then
> >
> > 616 * (I + 160/256k) = 1
> > 380 * (I + 368/256k) = 1
> >
> > so the idle time is ~1ms per packet, but it looks like it's not
> > independent of the packet size (you do have to read it out, after all).
> >
> 
> On that topic, I believe the SpiByte and SpiPacket msp430
> implementations in 2.x do slow things down a bit in comparison with
> 1.x.
> Something like 40us per byte (*), so you can quickly run up to 1ms
> transfer time with large packets. For SpiPacket, this could be
> improved by growing SPI_ATOMIC_SIZE in Msp430SpiP.nc
> 
> Henri
> 
> (*) this is from memory, not a firm number -- but i don't have an
> oscilloscope at home to verify.

As Joe's pointed out in the past, the best solution is to use DMA
(assuming you have a free DMA channel). If you have CSMA enabled, none
of this makes a big difference, though, as the CSMA latency is greater
than the loading time. I think Jonathan was planning on checking in a
DMA version at some point, based on the re-architecture of the MSP430
USART system Vlado, he, and I came up with after the TTX. He's been
doing some pretty serious performance tradeoff comparisons, so probably
has some good thoughts on the matter.

Jonathan?

Phil




More information about the net2-wg mailing list