hostapd Performance: Bridging versus Local Services

Galen P Zink galen
Sun May 31 01:46:34 PDT 2009

I've setup a small test environment with hostapd (on debian, kernel  
2.6.29-2, latest wireless-compat) on a 2 GHz Core Duo machine, doing  
various performance tests with iperf.

When I run iperf against the machine running hostapd, I get about 20%  
lower scores than if I run it against an external machine elsewhere on  
my network. (I have bridging setup to the larger network via gigabit.)  
This number varies a bit, but in every test (including UDP), it seems  
that I get a bit better performance when bridging than when running  
the service locally. Note that both the wireless card and gigabit link  
are on independent PCI-e lanes, so there is no bus contention.

This is surprising to me since iperf uses 5% or less of the CPU on the  
2 GHz Core Duo machine, and there are no other significant tasks or  
services operating on the 2 GHz Core Duo machine. The CPU used by the  
bridging and hostapd is also very low. The cpu is practically idle.  
And since it's dual core, I don't see why iperf and hostapd should  
even contend for CPU at all - yet they seem to, based on this data.

Can anybody share why I might be seeing better performance when  
bridging than when running directly on the native machine, given this  
situation? I suspect it is more likely something kernel-level than  
anything, but I'd like to rule out hostapd-related options or  
behaviors I might have missed.


More information about the Hostap mailing list