Re: [PATCH] sky2: receive dma mapping error handling

From: Michael Breuer
Date: Sat Jan 30 2010 - 23:17:56 EST


On 01/30/2010 07:34 PM, Jarek Poplawski wrote:
On Sat, Jan 30, 2010 at 11:31:48AM -0500, Michael Breuer wrote:
On 01/28/2010 06:36 PM, Stephen Hemminger wrote:
Please try this patch (and only this patch), on 2.6.33-rc5[*];
none of the other patches that did not make it upstream because that
confuses things too much.

The code that checks for DMA mapping errors on receive buffers would
not handle errors correctly. I doubt you have these errors, but if you
did then it would explain the problems. The code has to be a little
tricky and build mapping for new rx buffer before releasing old one,
that way if new mapping fails, the old one can be reused.

If it works for you, I will resubmit with signed-off.

-

Nope - tx crash again. This time the system stayed up (but hosed)
for a few hours. When I tried to recover eth0 the system then
crashed.

Brief summary of events (log extract below):

System start Jan 28 19:29
Everything seemed good (load and all) until 17:13:11 the following
day when I got rx errors:

Jan 29 17:13:11 mail kernel: sky2 eth0: rx error, status 0x6230010
length 1518
Jan 29 17:13:11 mail kernel: sky2 eth0: rx error, status 0x7f40010
length 1518
These are length errors, but status shows more than 1518, e.g. 2036
here, unless I miss something. Please, don't use jumbo frames in your
network until we fully debug it for regular frames (Stephen admitted
sky2 jumbo might be broken).
MTU was 1500 - not using jumbo frames as they don't work.
...
As I started looking at logs, the system hung and rebooted. I'm up
now with dma debug enabled, however as with 2.6.32.4 num_entries is
dropping and I don't think that dma debug will remain enabled long
enough to catch a crash.
Could you try the patch below to show maybe some other users of
dma-debug entries?

Jarek P.
---
Will do. Note that I'm running with the dma debug filter set to sky2.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/