Bug 5632
Summary: | forcedeth driver occasionally hangs | ||
---|---|---|---|
Product: | Drivers | Reporter: | Alexey Dobriyan (adobriyan) |
Component: | Network | Assignee: | Ayaz Abdulla (aabdulla) |
Status: | RESOLVED CODE_FIX | ||
Severity: | high | CC: | aabdulla, afu, ismail, mail, netllama |
Priority: | P2 | ||
Hardware: | i386 | ||
OS: | Linux | ||
Kernel Version: | 2.6.15-rc1 | Subsystem: | |
Regression: | --- | Bisected commit-id: | |
Attachments: |
kernel log
More data from the kernel log. Added more debug prints. Kernel log with extra debug segmentation fix segmentation fix TSO fix for large buffers |
Description
Alexey Dobriyan
2005-11-20 07:00:18 UTC
Could you please enable the debug messages and send me the output after the timeout? Please set the following define to 1 #if 0 #define dprintk printk #else #define dprintk(x...) do { } while (0) #endif Created attachment 6681 [details]
kernel log
Kernel log, captured just before the driver hung. Linux 2.6.15-rc1, module
compiled with debug enabled.
Could you post more output? Especially the output relating to the transmit of packet packet 8452580 and beyond. And also the tx timeout register dump. Created attachment 6682 [details]
More data from the kernel log.
Additional kernel output.
There is no sign of TX register dumps, but that may be related to the script
that removed and inserted the forcedeth after five seconds of inactivity.
Please note, that I do not have console access to the machine in question, so I
hope that my 1.5 GB of kernel logs do contain enough information for you to
find the problem.
Rmmod'ing and inserting the forcedeth module did not resolve the problem this
time. Also the problem occured (reproducable) when doing an rsync from the
machine. Copying large files over NFS or streaming video through the machine
did not trigger the problem.
Created attachment 6696 [details]
Added more debug prints.
Please use this new patch which has some more debug prints. Then please send me
the output log. Thanks!
Created attachment 6755 [details]
Kernel log with extra debug
Full log, forcedeth driver patched with extra debug information.
The attachment is a binary file. True. As suggested by the attachment type I compressed it with bzip2 (reducing the size from 12M to 150K). I hope you can use this format. Sorry for the inconvenience. Thanks for taking the time to generate the output. The issue is that during the stream a buffer for transmit is too big for the hardware to handle. I am working on a fix for the issue. Jeff, can you change the assigned to field to Ayaz, as he is currently working on fixing the bug? Created attachment 6789 [details]
segmentation fix
I have fixed the segmentation issue. Could you please try this patch out?
Thanks.
Created attachment 6790 [details]
segmentation fix
Modified the patch to account for the real max size. Previous patch had my
debug test size.
Patch works flawlessly - Thanks. I hope that this patch can make it into 2.6.15. The patch create a huge amount of debug output. Do you need those? Created attachment 6793 [details]
TSO fix for large buffers
I have submitted this patch to netdev kernel maintainers.
Jeff, can this patch be applied to 2.6.15 kernel since it is a bug fix?
|