I finally tracked down what caused the red zone failures with forcedeth on my test system. It's only related to me starting to use CONFIG_SLAB_DEBUG instead of any driver changes and probably was always broken.
I have not done too heavy testing with this yet, but the simple tests where it failed before are ok now. -Andi ---- I got frequent red zone failures and data corruption when transfering over a CK804 on a 64bit kernel with CONFIG_SLAB_DEBUG enabled. This patch fixes it. It shouldn't make any difference on !SLAB_DEBUG kernels because kmalloc will pad typical mtus (1.5k, 9k) to 2k or 16k. But at least the network driver is usable now again with slab debugging enabled. The magic value 86 has been found with binary search. Signed-off-by: Andi Kleen <[EMAIL PROTECTED]> --- linux-2.6.15rc5-git4/drivers/net/forcedeth.c-ORIG 2005-12-16 01:00:33.000000000 +0100 +++ linux-2.6.15rc5-git4/drivers/net/forcedeth.c 2005-12-23 20:42:25.000000000 +0100 @@ -419,8 +419,9 @@ /* rx/tx mac addr + type + vlan + align + slack*/ #define NV_RX_HEADERS (64) -/* even more slack. */ -#define NV_RX_ALLOC_PAD (64) +/* even more slack. The value 86 has been found with binary + search with a kernel that does slab debug checking on a CK804 a3 */ +#define NV_RX_ALLOC_PAD (86) /* maximum mtu size */ #define NV_PKTLIMIT_1 ETH_DATA_LEN /* hard limit not known */ - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html