OpenWrt Forum Archive

Topic: Slower network speed on Kamikaze vs. RC5?

The content of this topic has been archived on 19 Apr 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

Hi All,

I'm running Kamikaze on Asus wl500gd (rev. 3742 with some modifications), and noticed that network speed wl500gd is able to provide with Kamikaze seems to be several times smaller than with RC5.

I'm using the same network configs in Kamikaze I have for RC5 (vlan0 bridged with wlan0 for local network, vlan1 and vlan2 for two WANs, leaving only vlan0 in bridge makes no difference).

To be more precise:
1) 150 "Adaptive ping" packets with buffer size 16K from one of the PCs on the LAN to the router take about 1.2 secs with RC5 and more than 4 secs on Kamikaze, with avg time 7 msec on RC5 and 30 msecs on Kamikaze.
2) Transfers using wget & Samba from/to router are close to 300 Kb/s, "top" shows that most of the time is spent in the applications themselves.
3) vtund tunnels are also several times slower with Kamikaze than with RC5, "top" also shows that vtund takes most of the CPU.
4) I've noticed that when eth0 is in PROMISC mode, when connected WAN port to the hub and there's high traffic on the external network,
router running Kamikaze almost stops responding and sometimes even reboots - again, this was not the case with RC5.

I've tried to run transfers "locally" on the router with Kamikaze (using lighttpd and wget), and the speed there seems to be OK (close to 1.5Mb/s), so I suspect it could be smth wrong with hardware-specific code itself?

Currently I'm just lost and seeking for any suggestions/advices on what could be wrong with my setup and what other info I could gather to locate the source of the problem.


Phew ...
It took me quite some time actually to understand what's the source of the problem (I compiled and set up oprofile under OpenWrt for that), but it appeared that in brcm-2.6 kernel config CONFIG_SLOB is used instead of CONFIG_SLAB.

As far as I understood, starting from 2.6 kerenel, there are 2 choices for memory management in kernel: SLOB and SLAB.
SLOB is very small & simple implementation, while SLAB is full-featured one (and, therefore, much better optimized).

After I recompiled kernel with CONFIG_SLOB off and CONFIG_SLAB on, everything was fixed, the speeds are comparable to RC5.

Hope that can be useful to smb ...

once again thanks for posting smile

with + slob, big WAN (PPPoE) to LAN transfers were slowed down somewhat (and SSH at the same time was unusable).

with + slob (suggested in #openwrt-devel), these transfers were fine, but SSH during such transfers still lagged horribly.
SSH doesn't lag with either of the kernels and slab.

I'm also using an Asus WL-500gD.


(Last edited by mh on 7 Jun 2006, 02:00)

The discussion might have continued from here.