On Sat, 2005-06-11 at 16:02 +0100, Miguel Filipe wrote:
> Hi there,
> I have a dual-opteron with 8GB of ramm installed (8x1GB dimms) on a
> Tyan K8W (S2885).
> But linux only uses 7.3 Gb...
> Linux on boot detects correctly the available 8Gb:
> 
> [EMAIL PROTECTED] ~> dmesg|grep -i mem
> Node 0 MemBase 0000000000000000 Limit 00000000ffffffff
> Node 1 MemBase 0000000100000000 Limit 00000001ffffffff
> Bootmem setup node 0 0000000000000000-00000000ffffffff
> Bootmem setup node 1 0000000100000000-00000001ffffffff
>   HighMem zone: 0 pages, LIFO batch:1
>   HighMem zone: 0 pages, LIFO batch:1
> Memory: 7391892k/8388608k available (2655k kernel code, 0k reserved,
> 700k data, 200k init)
> agpgart: Maximum main memory to use for agp memory: 7956M
> Freeing unused kernel memory: 200k freed
> ohci_hcd 0000:03:00.0: irq 19, pci mem 0xfc8fd000
> ohci_hcd 0000:03:00.1: irq 19, pci mem 0xfc8fe000
> 
> Note:
>  Memory: 7391892k/8388608k available (2655k kernel code, 0k reserved,
> 700k data, 200k init)
> 
> Now, I've seen that this unused memory is related to pci && AGP dma maps..
> But, on my sparc I also have PCI and I don't have these problems
> (4gb real, 4gb used..)
> And on dual-opterons with 8GB from HP (rack 1u, don't recall model name)
> I also have 4Gb real, and 4Gb being used.
> 
> So, does anyone know how to make this system really use the 8GB of ram..
> 
> Having 700MB of fast ram being unusable isn't very to my taste...

I got the following official answer from Tyan, if it helps you:
================================================================
Why does my OS see less than the total memory installed when I install
4GB
or more of memory (typically 512MB less)?
The BIOS needs to overlay the APIC, ACPI Table, AGP Aperture and PCI
MMIO
(Memory-mapped I/O [see PCI Spec 2.3, Section 3.2.2 for more
information])
over the last 512MB of the 4GB physical address space.  OS accessible
memory
and these structures cannot both exist at the same place and this
portion of
DRAM is hidden and unavailable to the OS.

Is there a solution for the missing memory when using 4GB of total
memory?
Not easily, the theoretical possibility exists that the BIOS can map all
of
the addresses attached to one DIMM module above the 4GB limit, but the
BIOS
cannot move smaller address ranges piece by piece.  Mapping a whole DIMM
is
a new concept, unproven in real world testing.  It also penalizes 32-bit
OS's that cannot use more than 4GB.  Since the BIOS does not know what
OS
you have when it does the memory assignments, it has to optimize for the
common case, which is likely a 32-bit OS you may or may not want to
use.  In
a system with less than 4GB the BIOS must choose between providing as
much
as possible below 4GB to benefit 32-bit legacy OS users or raise one
whole
DIMM module above the 4GB ceiling to benefit 64-bit OS 's at the loss of
DRAM to a much more memory limited 32-bit OS.

-- 
shimi <[EMAIL PROTECTED]>

-- 
[email protected] mailing list

Reply via email to