From: Malvineous <malvineous@optushome.com.au>
To: Manfred Spraul <manfred@colorfullife.com>
Cc: akpm@osdl.org, linux-kernel@vger.kernel.org, a.nielsen@optushome.com.au
Subject: Re: [PATCH] Fix kernel lockup in RTL-8169 gigabit ethernet driver
Date: Sun, 4 Apr 2004 10:55:58 +1000 [thread overview]
Message-ID: <20040404105558.2bffd4f0.malvineous@optushome.com.au> (raw)
In-Reply-To: <406EA054.2020401@colorfullife.com>
> Adam: did you see deadlocks that disappeared after applying your
> patch? It shouldn't deadlock - it should loop until the nic sends the
> packet to the wire. It might take a few msecs, but then it should
> continue. Perhaps gcc optimized away the reload from memory and loops
> on a register. Or there is another bug that is hidden by your patch.
Yes, it used to deadlock within a second after starting a large transfer
across the network (e.g. copying a 1GB+ file over NFS) however smaller
transfers (e.g. background gkrellmd traffic, web browsing, etc.) was
less likely to cause problems (I could go for a few hours before it
would deadlock.)
I initially tried to move the counters outside the loop, as I thought it
was just the one entry in the array causing the problem, however this
slowed network traffic down to approx 5kB/sec. Upon looking at the
RTL8139 code it looked like "else break" was the correct action, and
this brought network traffic back up to full speed and it's now been 4.5
days since I booted the kernel with the patch and it's all working
perfectly.
When it did deadlock it was more or less permanent, as any programs
accessing the NIC (or indeed the hard drive) would immediately deadlock
- so no program could send network data, thus it would loop forever
waiting for more traffic.
I did add a 'printk' line in to see what the variables were just to make
sure this was the location of the bug, and as I expected none of
the values changed at all.
Cheers,
Adam.
next prev parent reply other threads:[~2004-04-04 0:53 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-04-03 11:30 Manfred Spraul
2004-04-03 12:45 ` Francois Romieu
2004-04-04 0:55 ` Malvineous [this message]
2004-04-04 9:15 ` Francois Romieu
2004-04-05 21:51 ` Adam Nielsen
2004-04-06 17:11 ` Manfred Spraul
2004-04-06 20:50 ` Francois Romieu
-- strict thread matches above, loose matches on Subject: below --
2004-04-05 23:08 Dieter Nützel
2004-04-06 7:47 ` Francois Romieu
2004-04-03 5:02 Adam Nielsen
2004-04-03 9:27 ` Francois Romieu
2004-04-03 10:07 ` Andrew Morton
2004-04-03 12:13 ` Francois Romieu
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=20040404105558.2bffd4f0.malvineous@optushome.com.au \
--to=malvineous@optushome.com.au \
--cc=a.nielsen@optushome.com.au \
--cc=akpm@osdl.org \
--cc=linux-kernel@vger.kernel.org \
--cc=manfred@colorfullife.com \
/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
all inboxes | Powered by JetHome®