[CUWiN-Dev] hslsd performance improvements

David Young dyoung at pobox.com
Sat Oct 14 18:48:37 CDT 2006


Time spent profiling and optimizing hslsd has paid off.  On a "hub"
in our network (i.e., a node with five 1-hop neighbors), hslsd's CPU
usage is down by 11%, from 25-27% to 14-16%.  NetBSD identifies the
system like this,

cpu0 at mainbus0: (uniprocessor)
cpu0: AMD Am5x86 W/B 133/160 (486-class), id 0x4f4
cpu0: features 1<FPU>
pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
elansc0 at pci0 dev 0 function 0: AMD Elan SC520 System Controller
elansc0: product 0 stepping 1.1, CPU clock 133MHz
gpio0 at elansc0: 32 pins

The CPU is ordinarily 40%-60% idle, however, top shows bursts of operating
system activity where the CPU is only ~10% idle.

I achieved most of the improvement by optimizing libpack, the library I
use for packing protocol packets.  libpack used to spend a lot of time
parsing format strings; now, I cache the results of parsing.  I also
turned down the logging level, but that did not make a difference as
big as I expected.

It looks to me like I can improve hslsd's performance even more, if
necessary, but I want to evaluate these changes on our testbeds, first.

Dave

-- 
David Young             OJC Technologies
dyoung at ojctech.com      Urbana, IL * (217) 278-3933


More information about the CU-Wireless-Dev mailing list