#41 8319 Card hangs under heavy load

important
closed-fixed
Jeff Garzik
8139too (65)
7
2001-07-07
2001-07-02
No

It looks like there is a problem with realtek 8139
under heavy load: While performing concurrent max.
rate downloads (on a system with slow disk i/o reason
unknown) the nic simply hangs after a few secs. The
systems continues to run, ifdown / ifup brings the nic
back on.

We can reproduce this problem on all of our systems
that use 8139 cards (kernel 2.2.19 (running the old
8139 module) and 2.4.5). Here is how we do it:

We use

Machine a) some IDE machine with realtek card
Machine b) Some other machine running a webserver and
a providing large file for download

a) and b) are connected to each other via 100Mbit
(switched in our case)

- turn dma mode off for all drives in machine a
(hdparm -d0 /dev/hda ...). this is a necessary step to
provoke the problem.

- run "wget http://machine.b/bigfile &" about 10 times
concurrently

- network of machine a) will hang after a few secs

- after replacing nic in machine a) with a different
non-realtek nic (we used 3com) the same test will not
hang the network.

IMHO this could mean that the problem occurs when the
nics buffer overruns but you are the experts here ;-)

It is possible that this is a generic problem with the
8139 and not linux-related.

We have once seen an error-message like "frame too
large" while testing this on different machines, it
only showed up in about 1/100 of our testruns.

I will gladly help if you have trouble reproducing
this problem, we were able to reproduce it with PCI-
Adapters as well as with on-mainboard Realtek 8139
chips.

Please contact me if any questions arise.

jt//at//domainfactory.de

(replace //at// with @)

Discussion

  • Jeff Garzik
    Jeff Garzik
    2001-07-07

    Logged In: YES
    user_id=17443

    This problem is fixed in the latest version of the driver. You
    can download the driver from the download section on this
    SourceForge web page.

     
  • Jeff Garzik
    Jeff Garzik
    2001-07-07

    • priority: 5 --> 7
    • assigned_to: nobody --> jgarzik
    • status: open --> closed-fixed