OpenWrt Forum Archive

Topic: ixp4xx performance for small sized frames

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

Hey All;

I've got an ixp4xx OpenWRT based system that has a 2.6.21.7  and a 2.6.26.5 kernel installed. 
Ran some performance tests with the device set simply to bridge packets,
and I'm having some trouble interpreting the results with respect to small sized frames.

For the 2.6.26.5 kernel the fps bridging of 64 byte frames was 45,620 fps
For the 2.6..21.7 kernel the fps bridging of 64 byte frames was 71,839 fps.

This was measured on a Smartbits 6000 unit so it's pretty accurate.

Now, I'm trying to diagnose the cause of the performance difference.
There was a driver switch between 2.6.21.7 and 2.6.26.5, 
yet I've looked at IRQ settings,  NAPI settings, and both drivers seem very similar.

Has anyone else noticed lower performance rates for small sized frames ?

GPW

Hey All;

How would one verify that the NAPI settings are actually operational in the driver on the 2.6.26.5 kernel ?
I have not been able to find the cause of the performance drop yet, so I'm grasping at straws.

GPW

Curious if anyone has done a performance comparison between the old ixp4xx Ethernet driver from 2.6.21 era and the current driver in the kernel ?

GPW

I've just looked into this.
Comparing 2.6.28.10 with 2.6.21.7  at 128b frames
2.6.28.10 was able to do only 29,000 frames a second
2.6.21.7  was able to do 46,000 frames a second

Network setup;  bridging eth0 and eth1 .  All default settings for the stack.

Don't have any ideas at the moment, other than go back to the older kernel if the small frame performance is lower than was your system can tolerate.

It does look like there is a small frame performance issue.

Cheers
DSL

The discussion might have continued from here.