I have an MSI K8D-Master-F motherboard with two Opteron 244's.
It recently got retasked as a desktop machine due to another
system's failure...I thought the little ATI Rage built into
the motherboard would make more than a sufficient 2d desktop
type framebuffer, and as far as other stuff inside this box...
this should be a pretty kick ass, high performance workstation.
But I can literally watch the screen redraw if I switch virtual
desktops. Painfully slow. Thinking this was just some
crippled built-in video bug, I threw in an old nVidia card
we had lying around in one of the regular PCI slots. Slightly
slower, if you can believe it.
I think this:
mtrr: type mismatch for e5000000,1000000 old: uncachable new: write-combining
And of course this:
$ cat /proc/mtrr
reg00: base=0xc0000000 (3072MB), size=1024MB: uncachable, count=1
reg01: base=0x00000000 ( 0MB), size=4096MB: write-back, count=1
Has something to do with it (and may also explain why I'm getting
less than stellar performance out of other PCI devices, such as
the RAID array that has a 128MB memory region the driver directly
reads and writes on). The above is with the nVidia PCI card
inserted, the built-in ATI card would also emit a similar mtrr
rejection message, just the address is different, and the system
would only list 512MB uncachable without the nVidia.
Also notice that there's 4GB installed in this machine, in 2 2GB
DIMMs installed in one bank together. And yet the BIOS map:
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000e0000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 00000000bfff0000 (usable)
BIOS-e820: 00000000bfff0000 - 00000000bffff000 (ACPI data)
BIOS-e820: 00000000bffff000 - 00000000c0000000 (ACPI NVS)
BIOS-e820: 00000000ff7c0000 - 0000000100000000 (reserved)
Lists nothing beyond the 4GB mark where that memory might
reasonably have been moved to. Assuming this is just a
neglectful BIOS, I tried setting 'mem=4G' and 'memmap=1G@4G'
kernel options, to define the 1GB 'hole' I presume is being
placed here, and which got me this added line to dmesg:
user: 0000000100000000 - 0000000140000000 (usable)
But still only 3GB available.
To add even more insult to rising injury, I noticed while
looking through dmesg that the IOMMU is being disabled. It
appears the value being advertised by the CPU's:
CPU 0: aperture @ 1b80000000 size 128 MB
Is being rejected because it lies (WELL) above the 4GB mark.
I've been going through archives and I'm not finding anything
that looks like actionable advice.
The latest BIOS MSI's webpage lists for this motherboard is 1.1:
already installed. It has no option for 'pci hole: software'.
The only options I'm finding are memory bank interleaving (which
I tried disabling), and 'Disabled/Best-Fit/Absolute' settings
for the IOMMU, as well as its aperture size (128M, which I
might increase if it would be used rather than ignored...).
One post in the archive that matched on motherboard make and
model looks confused to me, because he refers to his BIOS as
AWARD 2.0, but the only BIOS MSI puts out for this board is
AMI (versioned 1.1).
In summary what I'd like to know is:
1) Where is the 'go fast' button? re: pci video that's slower than
even isa video should be (and presumably similar performance
problems on other PCI devices).
2) How do I get the last 25% of my memory back?
3) How do I get the system to put the IOMMU somewhere in the range
it stole under 4G (so Linux can use it)? Can Linux move this on
its own accord?
Thanks in advance for any and all help.
David W. Hankins "If you don't do it right the first time,
Software Engineer you'll just have to do it again."
Internet Systems Consortium, Inc. -- Jack T. Hankins