Re: eepro100 woes -> linux memory issue

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



At 09:57 AM 09/06/2000 +0100, Alan Cox wrote:
>> no, these packets arent being queued...they are being dumped before being
>> queued (why would you queue a packet that you know is bad?). Thats the
issue.
>
>These frames have what - framing errors and bad crc ?

Arghhh..I'll outline this again. The adapter is in promiscuous mode for
bridging. The frames are determined to have no valid destination (ie they
are not broadcast and the destination mac address has not yet been
learned...typical of initial startup) On a busy lan. there are thousands of
frames from previous sessions on the wire which may be considered invalid
by a bridge initially. These frames need to be discarded by the MAC layer;
queuing them via netif_rx() is highly inefficient.

>
>> So, are you saying that there is no way to explicity free memory for
>> immediate use? The issue with the eepro driver is that it doesnt recover
>> even when the traffic subsides, which has nothing to do with the fact that
>> there is no memory available to fill the buffers in the first place.
>
>I still dont think main memory is related to the current eepro100 problems at
>all - lack of it or otherwise. If you fired invalid frames at it then Im
>convinced it doesnt.

They are not invalid frames.

I dont understand why you cant understand this. There are 2 problems
illustrated here. 1) Linux doesnt free up memory fast enough for it to be
re-used under heavy load, and 2) the eepro100 driver, after being trashed
by a lack of memory, doesnt reset itself properly to a working condition. 

Im sure the penguins will accuse me of something here, but the same test on
a 'BSD box chugs along nicely without even breathing hard, even on a slow
cpu system The (fxp) eepro100 driver never runs out of memory because the
buffers are being freed faster than the traffic is arriving and freebsd
allows the memory to be used immediately. The "problem" with linux is that,
even though the memory has been freed, the network card driver (and it
doesnt matter which driver it is...the tulip driver runs out of memory
also).. cant get the buffers, causing the driver to not be able to
replenish its receive ring. The eepro100 driver problem is not so much that
it runs out of buffers (thats Linux's fault), but that it doesnt recover
from the condition when buffers are available.

Rather when whining about the validity of the test, how about a solution?
The test merely accelerates the occurrance of an obvious problem.

IS THERE A WAY TO ALLOW FREED MEMORY TO BE IMMEDIATELY (or
semi-immediately) AVAILABLE?

Dennis

-
: send the line "unsubscribe linux-net" in
the body of a message to majordomo@vger.kernel.org


[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux