Bug 53176 - meminfo report incorrectly in Enterprise kernel
Summary: meminfo report incorrectly in Enterprise kernel
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: kernel   
(Show other bugs)
Version: 7.3
Hardware: i386 Linux
Target Milestone: ---
Assignee: Arjan van de Ven
QA Contact: Brock Organ
Depends On:
TreeView+ depends on / blocked
Reported: 2001-09-04 21:34 UTC by Danny Trinh
Modified: 2007-04-18 16:36 UTC (History)
10 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2001-09-05 18:30:07 UTC
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
meminfo for PE6400 (624 bytes, text/plain)
2001-09-04 21:37 UTC, Danny Trinh
no flags Details
meminfo for PE8450 (628 bytes, text/plain)
2001-09-04 21:38 UTC, Danny Trinh
no flags Details
meminfo for PE6450 (624 bytes, text/plain)
2001-09-04 21:39 UTC, Danny Trinh
no flags Details
dmesg output of PE6400 (15.31 KB, text/plain)
2001-09-04 22:57 UTC, Danny Trinh
no flags Details
dmesg output of PE6450 (15.32 KB, text/plain)
2001-09-04 22:57 UTC, Danny Trinh
no flags Details
dmesg output of PE8450 (15.32 KB, text/plain)
2001-09-04 22:58 UTC, Danny Trinh
no flags Details
e820info of PE6450 (323 bytes, text/plain)
2001-09-05 18:30 UTC, Danny Trinh
no flags Details
patch for /proc/meminfo 32 bit overflow (1.23 KB, patch)
2001-09-05 19:21 UTC, Ben LaHaise
no flags Details | Diff

Description Danny Trinh 2001-09-04 21:34:23 UTC
From Bugzilla Helper:
User-Agent: Mozilla/4.77 [en] (X11; U; Linux 2.4.3-6smp i686)

Description of problem:
meminfo reports incorrectly the amount of memmory installed on PE6400,
PE6450, PE8450. All three servers use enterprise kernel.

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1.Install more than 4Gb RAM to PE6450, PE6400, PE8450
2.Install RedHat 7.2 RC2
3.cat /proc.meminfo

Actual Results:  mem: XXXXXXX is showing incorrectly the amount of RAM on
the machine.

Expected Results:  Must show correctly the amount of memory that the
machine have under enterprise kernel.

Additional info:

PE6450 has 5120MB RAM
PE6400 has 5120MB RAM
PE8450 has 6GB RAM

Comment 1 Danny Trinh 2001-09-04 21:37:40 UTC
Created attachment 30894 [details]
meminfo for PE6400

Comment 2 Danny Trinh 2001-09-04 21:38:41 UTC
Created attachment 30895 [details]
meminfo for PE8450

Comment 3 Danny Trinh 2001-09-04 21:39:18 UTC
Created attachment 30896 [details]
meminfo for PE6450

Comment 4 Arjan van de Ven 2001-09-04 21:46:43 UTC
This is the unfortionate effect that the Mem: field is there for
compatibility with older applications that assume the memory fits in a 32 bit
field, and will explode if it is a bigger number than 32 bit. The "MemTotal"
field is the field that counts.

Comment 5 Danny Trinh 2001-09-04 22:06:16 UTC
 Memtotal: 6179540
 It should be: 1024x1024x6=6291456
 Memtotal: 4628552
 Ii should be: 1024x1024x5=5242880
 Memtotal: 5021768
 It should be: 1024x1024x5=5242880

Comment 6 Arjan van de Ven 2001-09-04 22:12:36 UTC
MemTotal is the kernel usable memory, eg after the bios reservations and such.
Would it be possible to attach the e820 map (eg the first table of the "dmesg"
output) ?

Comment 7 Danny Trinh 2001-09-04 22:57:06 UTC
Created attachment 30899 [details]
dmesg output of PE6400

Comment 8 Danny Trinh 2001-09-04 22:57:49 UTC
Created attachment 30900 [details]
dmesg output of PE6450

Comment 9 Danny Trinh 2001-09-04 22:58:24 UTC
Created attachment 30901 [details]
dmesg output of PE8450

Comment 10 Arjan van de Ven 2001-09-05 07:10:25 UTC
hmmm all three have the important bits cut off, probably because the dmesg
buffer overflowed. If you install and boot the kernel-BOOT kernel, the
important information can also be obtained from the /proc/e820info file (only
available in the -BOOT kernel)

Comment 11 Danny Trinh 2001-09-05 18:30:03 UTC
Created attachment 30974 [details]
e820info of PE6450

Comment 12 Ben LaHaise 2001-09-05 18:52:30 UTC
This looks normal.  The bios is reporting that memory is split into three
sections: the base 640KB followed by 4062200KB starting at the 1MB boundry and
1GB at the 4GB mark.  This works out to a total of 5234089984 bytes, which is
4991MB, or a little shy of the 5GB total.  The missing memory appears to be
reserved by the BIOS for mapping PCI cards into the 32 bit address space, and as
such there is nothing that the kernel can do to access the missing memory.  Keep
in mind that with that much memory in the machine Linux will need to allocate
~100MB just for keeping track of what memory is free/allocated.

Comment 13 Ben LaHaise 2001-09-05 19:21:47 UTC
Created attachment 30975 [details]
patch for /proc/meminfo 32 bit overflow

Comment 14 Danny Trinh 2001-09-06 15:58:38 UTC
The patch seems to work on PE6450 (5GB RAM).

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