WLAN latency (was Re: WLAN with Linux SDIO: sneak preview)

Werner Almesberger werner at openmoko.org
Tue Nov 11 01:26:03 CET 2008


Joerg Reisenweber wrote:
> WLAN-hw automatically entering power-save-mode comes to mind. Leaving this 
> fast power-save mode on detection of heavy traffic.

I bow before your intuition :-) Andy Lowe mailed me that he had also
encountered excessive ping latency, and that there is indeed a way to
make power management less aggressive:

wmiconfig -i eth0 --power maxperf

I ran the usual measurement suite. First, the Linux SDIO stack with
the default setting:

---- host => --------    => neo ---------
AVG:   722.95     389   0%      719.43    5888  18%
SDV:    13.05      69   0%       13.38     281   0%

---- neo => ---------    => host --------
AVG:   723.84     487   4%      718.53   11601   0%
SDV:     8.10     120   0%        7.61      19   0%

host => neo: min    /avg    /max      stddev   (100 samples)
               11.80/  78.96/ 216.00    44.85 ms
neo => host: min    /avg    /max      stddev   (100 samples)
               10.94/  77.86/ 311.07    44.70 ms

This is within measurement tolerances of previous results.
And now with --power maxperf:

---- host => --------    => neo ---------
AVG:   718.45     401   0%      715.15    5911  18%
SDV:    16.46      58   0%       16.43     345   0%

---- neo => ---------    => host --------
AVG:   707.04     457   3%      702.14   11603   0%
SDV:     9.34      43   0%        9.55      13   0%

host => neo: min    /avg    /max      stddev   (100 samples)
                5.51/  12.17/  76.20     9.10 ms
neo => host: min    /avg    /max      stddev   (100 samples)
                6.25/  12.63/ 100.95    12.67 ms

Round-trip time drops dramatically and also the delay variation is
now quite reasonable. There are still a few outliers, but even they
are starting to behave. The results are not as good as with flood
pings, though. So there's still something else going on, but this
is a big step in the right direction.

The improvement comes at a price, though: while the whole systems's
idle battery current is about 166mA (at 4V, USB detached), it jumps
to 289mA with --power maxperf.

Also, throughput seems to have decreased a little in the neo to PC
direction.

Thanks for bringing this idea up, and thanks to Andy Lowe for
letting me know about his experience with --power maxperf !

- Werner



More information about the openmoko-kernel mailing list