No description
Find a file
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
docs kamikaze has been released long ago 2011-02-11 14:04:00 +00:00
include fix up scons vs ccache 2012-07-28 21:06:59 +00:00
package ath9k: fix handling of decryption errors, should improve link stability 2012-08-08 18:23:04 +00:00
scripts build: ensure that reordering of KCONFIG lines are handled properly and that the final result does not depend on the package scan order 2012-07-22 21:00:07 +00:00
target Fix hard reset of alix/soekris hardware under heavy NIC load 2012-08-09 09:41:22 +00:00
toolchain kernel: fix portability issues on the x86 specific relocs host tool, fixes build on mac os x 2012-07-20 12:28:50 +00:00
tools add mktools and dosfstools which are needed for the raspberry pi 2012-07-24 20:39:00 +00:00
.gitattributes add .gitattributes to prevent the git autocrlf option from messing with CRLF/LF in files 2012-05-08 13:30:49 +00:00
.gitignore .gitignore: Ignore Emacs editor generated files 2011-10-31 09:37:59 +00:00
BSDmakefile add missing copyright header 2007-02-26 01:05:09 +00:00
Config.in config: tag parallel build options with high build breakage probability with a BROKEN dependency to discourage users from spamming us with tickets about them 2012-06-30 21:44:12 +00:00
feeds.conf.default Add xorg feed to feeds.conf.default 2011-11-16 16:05:23 +00:00
LICENSE finally move buildroot-ng to trunk 2016-03-20 17:29:15 +01:00
Makefile abort built in prereq target if there is no site config file for the current target 2012-01-19 12:19:28 +00:00
README trying to make README file a bit more helpful 2012-01-21 01:15:24 +00:00
rules.mk fix up scons vs ccache 2012-07-28 21:06:59 +00:00

This is the buildsystem for the OpenWrt Linux distribution.

Please use "make menuconfig" to configure your appreciated
configuration for the toolchain and firmware.

You need to have installed gcc, binutils, patch, bzip2, flex,
make, gettext, pkg-config, unzip, libz-dev and libc headers.

Run "./scripts/feeds update" to get the latest package definitions
defined in feeds.conf / feeds.conf.default respectively
and "./scripts/feeds install" to install symlinks into "package/feeds/*".

Use "make menuconfig" to configure your image.

Simply running "make" will build your firmware.
It will download all sources, build the cross-compile toolchain, 
the kernel and all choosen applications.

You can use "scripts/flashing/flash.sh" for remotely updating your embedded
system via tftp.

The OpenWrt system is documented in docs/. You will need a LaTeX distribution
and the tex4ht package to build the documentation. Type "make -C docs/" to build it.

To build your own firmware you need to have access to a Linux, BSD or MacOSX system
(case-sensitive filesystem required). Cygwin will not be supported because of
the lack of case sensitiveness in the file system.


Sunshine!
	Your OpenWrt Project
	http://openwrt.org