From: Andi Kleen <andi@firstfloor.org>
To: Aaron Lehmann <aaronl@vitelus.com>
Cc: Jim Paris <jim@jtan.com>,
linux-kernel@vger.kernel.org, linux-ide@vger.kernel.org,
netdev@vger.kernel.org
Subject: Re: Silent corruption on AMD64
Date: 01 Apr 2007 15:58:59 +0200 [thread overview]
Message-ID: <p737iswqjq4.fsf@bingen.suse.de> (raw)
In-Reply-To: <20070401043905.GV15189@vitelus.com>
Aaron Lehmann <aaronl@vitelus.com> writes:
[adding netdev]
[meta-comment: I wish people wouldn't use such unnecessarily broad subjects
-- how is it the x86-64 port's or AMD's fault when you have broken hardware?
Would anybody write "Silent corruption on i386" or "Silent corruption
on Intel" or "Silent corruption on Linux"?]
> On Sat, Mar 31, 2007 at 08:03:16PM -0700, Jim Paris wrote:
> > Since it shows up under heavy load that includes unrelated devices, I
> > think ruling out hardware problems is important. Some suggestions:
>
> I've been able to narrow it down to the Realtek Ethernet card. I can't
> reproduce the problem using onboard Ethernet, whereas the Realtek card
> causes trouble in any slot. However, I still don't know whether it's a
> hardware or software issue, or whether it's caused directly or
> indirectly by the Realtek card.
You could disable the hardware checksumming support in the card with
the appended patch. Then hopefully Linux will catch most corruptions
(but perhaps not all because TCP checksums are not very strong)
You can watch failed checksums then with netstat -s
-Andi
Index: linux-2.6.21-rc3-net/drivers/net/r8169.c
===================================================================
--- linux-2.6.21-rc3-net.orig/drivers/net/r8169.c
+++ linux-2.6.21-rc3-net/drivers/net/r8169.c
@@ -2477,6 +2477,7 @@ static inline int rtl8169_fragmented_fra
static inline void rtl8169_rx_csum(struct sk_buff *skb, struct RxDesc *desc)
{
+#if 0
u32 opts1 = le32_to_cpu(desc->opts1);
u32 status = opts1 & RxProtoMask;
@@ -2485,6 +2486,7 @@ static inline void rtl8169_rx_csum(struc
((status == RxProtoIP) && !(opts1 & IPFail)))
skb->ip_summed = CHECKSUM_UNNECESSARY;
else
+#endif
skb->ip_summed = CHECKSUM_NONE;
}
next parent reply other threads:[~2007-04-01 13:00 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20070401012736.GT15189@vitelus.com>
[not found] ` <20070401030315.GA24080@jim.sh>
[not found] ` <20070401043905.GV15189@vitelus.com>
2007-04-01 13:58 ` Andi Kleen [this message]
2007-04-02 17:46 ` NIC data corruption Rick Jones
2007-04-02 18:07 ` Andi Kleen
2007-04-04 5:00 ` Herbert Xu
2007-04-04 18:45 ` Silent corruption with r8169 Francois Romieu
2007-04-04 20:06 ` Aaron Lehmann
2007-04-04 20:45 ` Francois Romieu
2007-04-05 11:41 ` Andi Kleen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=p737iswqjq4.fsf@bingen.suse.de \
--to=andi@firstfloor.org \
--cc=aaronl@vitelus.com \
--cc=jim@jtan.com \
--cc=linux-ide@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).