Hi, 

On 6/11/05, shimi <[EMAIL PROTECTED]> wrote:
> 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.
> 

Thank you for the informative post.
But I must say that this seems bad... 
Why don't they map like this:
dimms until 3GB: 0-3GB address space
dimms more than that: 4GB and upper address spaces..

Okay, the logic isn't very simple, since they have to think about some
combinations of DIMM sizes..

Do other arches suffer from this problem (I guess not because ACPI is
a x86 thing..right?) PCI + IOMMU + AGP do exist in other arches...
And this funky problem of overlays between "virtual" memory maps with
real-estate "on-dimm" memory is bad, evil, ugly... shouldn't happen..

Haven't they thought about this before? amd64 has something like 3 or
4 years of existence.. (2 years of real world deployment)...


Now, for ways to correct this, since this is a BIOS problem, does
anyone know about _good_ firmware releases that address this issue
correctly?

Best Regards!

> --
> shimi <[EMAIL PROTECTED]>
> 
> --
> [email protected] mailing list
> 
> 


-- 
Miguel Sousa Filipe

-- 
[email protected] mailing list

Reply via email to