openwrtv3/target/linux/x86
Jo-Philipp Wich c8a0166212 Fix hard reset of alix/soekris hardware under heavy NIC load
The following patch corrects a hard reset that occurs on alix and
soekris net5501 hardware. Specifically, this is an issue with the via
rhine NIC driver. Under periods of extreme load, the via rhine driver
can cause a reset of the entire system. When this happens no output is
seen on the console, the device simply reboots. This was reported in the
following ticket:

Consistent crash on Soekris NET5501
https://dev.openwrt.org/ticket/11882

I was able to reproduce the problem locally with numerous alix 2d13
platforms. Under heavy 64 byte frame size load from a Smartbits traffic
generator, the alix hardware will hard reset in under 5 minutes. The
same hardware, under the same load, on FreeBSD 9.0 does not reset.

The patch below backports most of the via rhine changes from kernel 3.5.
With OpenWrt trunk being on kernel 3.3.8, it seemed prudent to bring
these changes in to avoid this serious issue.

I've tested this heavily in my test environment and was able to keep the
device stable under load for extended periods of time without any resets.

Also, a nice side effect of this change is that it significantly raises
the performance the platform. Without this patch the alix 2d13 can move
approximately 29,000 packets per second at 64 byte frame sizes. After
this patch the alix can move 52,000 packets per second at 64 byte frame
sizes.

I put this patch under the x86 patches as those are the only platforms
with via rhine hardware that I'm aware of. If it needs to go some place
else please let me know.

Thanks,
Adam

Signed-off-by: Adam Gensler <openwrt@kristenandadam.net>

SVN-Revision: 33072
2012-08-09 09:41:22 +00:00
..
alix2 x86: remove support for old kernels 2012-05-18 20:10:42 +00:00
base-files Fix sysupgrade for squashfs, jffs2 and ext4 images 2012-06-19 22:36:53 +00:00
ep80579 x86: remove support for old kernels 2012-05-18 20:10:42 +00:00
generic x86: remove support for old kernels 2012-05-18 20:10:42 +00:00
geos x86: remove support for old kernels 2012-05-18 20:10:42 +00:00
image use ttyS0 @ 115200 baud as default for KVM guests 2012-06-15 12:59:49 +00:00
kvm_guest optimize kernel config for kvm_guest 2012-06-18 23:36:50 +00:00
net5501 x86: remove support for old kernels 2012-05-18 20:10:42 +00:00
olpc x86: remove support for old kernels 2012-05-18 20:10:42 +00:00
patches-3.3 Fix hard reset of alix/soekris hardware under heavy NIC load 2012-08-09 09:41:22 +00:00
thincan x86: remove support for old kernels 2012-05-18 20:10:42 +00:00
xen_domu make kmod-fb dependent on DISPLAY_SUPPORT and update targets accordingly 2012-07-25 19:36:19 +00:00
base-files.mk Restrict Soekris specific base-files handling to Soekris profiles, based on patch by Philip Prindeville <philipp@redfish-solutions.com> 2011-06-19 23:05:21 +00:00
config-3.3 x86: sync 3.3 configs 2012-05-16 10:44:55 +00:00
Makefile bump to 3.3.8 2012-06-05 06:57:51 +00:00
modules.mk move leds modules back to target modules.mk 2012-07-25 15:49:57 +00:00