Bug 645172 - bnx2x driver uses all LowMemory on Red Hat 6.0 x86 on BL685c G6 w/ 12 cores
Summary: bnx2x driver uses all LowMemory on Red Hat 6.0 x86 on BL685c G6 w/ 12 cores
Keywords:
Status: CLOSED DUPLICATE of bug 645174
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: NetworkManager
Version: 6.0
Hardware: i686
OS: Linux
low
medium
Target Milestone: rc
: ---
Assignee: Dan Williams
QA Contact: desktop-bugs@redhat.com
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-10-20 22:29 UTC by apfeiffe
Modified: 2010-10-20 23:00 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-10-20 23:00:09 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description apfeiffe 2010-10-20 22:29:42 UTC
Description of problem:


Version-Release number of selected component (if applicable):
- bnx2x included with Red Hat 6.0 RC


How reproducible:
Load the bnx2x driver on a server with 12+ cores running Red Hat 6.0 x86


Steps to Reproduce:
more /proc/meminfo | grep Low
LowTotal:         827980 kB
LowFree:           11740 kB

[root@CFG19 Desktop]# rmmod bnx2x

[root@CFG19 Desktop]# more /proc/meminfo | grep Low
LowTotal:         827980 kB
LowFree:          652140 kB

 [root@CFG19 Desktop]# modprobe bnx2x
[root@CFG19 Desktop]# more /proc/meminfo | grep Low
LowTotal:         827980 kB
LowFree:           10340 kB

  
Actual results:
As you can see, the LowFree goes down to 10MB when you load the bnx2x driver which causes many OOM errors on the system.

Expected results:
I would not expect one device driver to use up all LowMemory.  

Additional info:
It is my understanding that the system allocates the number of queues to use for bnx2x to the number of cores the system has installed.  We can also see that one queue is using about 54M of Low memory so at 12 of them, that would be 648 which is over half of the Low Memory available on a 32-bit linux system.

A work around is to change the number of queues used by bnx2x by creating /etc/modprobe.d/bnx2x.conf with the following text:
options bnx2x num_queues=X where X is the number of queues you want to use.

I feel that the bnx2x driver shouldn't be using 54M of low memory for each queue.

Comment 2 apfeiffe 2010-10-20 23:00:09 UTC

*** This bug has been marked as a duplicate of bug 645174 ***


Note You need to log in before you can comment on or make changes to this bug.