ACPI and system memory

Trihexagonal

Daemon

Reaction score: 1,131
Messages: 1,805

I've got a Dell Dimension 4600 with a 2.8GHz P4 and 3GB DDR RAM running FreeBSD 9.0-RELEASE. It has the capacity to use up to 4GB RAM but if I install more than 3GB it hangs at the bottom portion of this section during boot:

Code:
acpi0: Power Button (fixed)
acpi0: reservation of 0, a0000 (3) failed
acpi0: reservation of 100000, f00000 (3) failed
acpi0: reservation of 1000000, bef70000 (3) failed
Timecounter "ACPI-fast" frequency 3579545 Hz quality 900
It still reads the same when I'm running 3GB RAM but proceeds with booting successfully.

I thought it must be due to a bad RAM socket or something until yesterday when I installed an upgrade to my Nvidia card with one that had 512MB RAM on board. When I booted it up I got the same "System memory has changed" message that I do when I've installed a stick of RAM, it was counting the 512MB RAM toward the total system memory, and it again hung at the same place in the boot process, resulting in my having to go back to my old GeForce3 card which again allowed it to boot successfully.

I read up on it and saw where this Dell supposedly needs to run a 64 bit OS to utilize anything over 3GB RAM but am not so sure it wouldn't run 4GB if I disabled ACPI at boot through /boot/device.hints:

Code:
hint.acpi.0.disabled="1"
I'm ready to try booting it like that but don't want to hose my system where I can't boot it at all, or install FreeBSD-AMD64 if I don't need to as I don't think my P4 supports 64 bits anyway from checking its stats on the Intel site.

I do have another stick of RAM to try it out with but am not sure about this. Any help that could be provided in this situation would be greatly appreciated.
 

wblock@

Beastie Himself
Developer

Reaction score: 3,682
Messages: 13,851

A 32-bit processor has 4G of address space total. Some of that is needed for I/O and things like video memory on add-in cards. Sounds like it's already over 3.5G even without the video card, so that is probably as far as that machine can be expanded.
 
OP
Trihexagonal

Trihexagonal

Daemon

Reaction score: 1,131
Messages: 1,805

I took a chance and disabled ACPI through /boot/device.hints, installed another 1GB stick of RAM, and it booted successfully and is recognizing the total amount of RAM. :)

Code:
real memory  = 4294967296 (4096 MB)
avail memory = 3927638016 (3745 MB)
Thanks though. :)
 
OP
Trihexagonal

Trihexagonal

Daemon

Reaction score: 1,131
Messages: 1,805

I have noticed since adding the extra RAM that before GKrellM used to show it as having 2 CPU's, I presume due to HTT, where now it only shows 1, and this difference in dmesg:


Code:
real memory  = 3221225472 (3072 MB)
avail memory = 3136536576 (2991 MB)
Event timer "LAPIC" quality 400
ACPI APIC Table: <DELL   4600   >
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
FreeBSD/SMP: 1 package(s) x 1 core(s) x 2 HTT threads
 cpu0 (BSP): APIC ID:  0
 cpu1 (AP/HT): APIC ID:  1
ioapic0: Changing APIC ID to 2
ioapic0 <Version 2.0> irqs 0-23 on motherboard
kbd1 at kbdmux0
Code:
real memory  = 4294967296 (4096 MB)
avail memory = 3927638016 (3745 MB)
MPTable: <DELL     Dim 4600i   >
Event timer "LAPIC" quality 400
ioapic0: Changing APIC ID to 2
ioapic0: Assuming intbase of 0
ioapic0 <Version 2.0> irqs 0-23 on motherboard
kbd1 at kbdmux0
 

kpa

Beastie's Twin

Reaction score: 1,825
Messages: 6,318

That's the downside of disabling ACPI, disabling it will also disable use of multiple CPUs/cores.

You could try different values for kern.timecounter.hardware sysctl in /boot/loader.conf with ACPI turned on and see if it works. The sysctl kern.timecounter.choice should have the values to choose from.
 
OP
Trihexagonal

Trihexagonal

Daemon

Reaction score: 1,131
Messages: 1,805

kpa said:
That's the downside of disabling ACPI, disabling it will also disable use of multiple CPUs/cores.
I don't know if I'm gaining anything with the extra GB of RAM or not. I don't think I've ever seen it use much more than 1GB, so it's not like it was running low with just 3GB available.

I do know my laptop that has 1.6GHz Duo Core CPU and 2GB RAM will compile the same port almost twice as fast as the 2.8GHz P4 with 3GB. I'll do some experimenting with it to see how it compares now but might end up taking it back out if I can't get it to run 4GB with ACPI.
 
OP
Trihexagonal

Trihexagonal

Daemon

Reaction score: 1,131
Messages: 1,805

I tested this box at 4GB RAM with ACPI disabled and 3GB RAM and ACPI enabled, each time with top, ttyload, pftop, XMMS, XFE, GKrellM, GIMP, and Firefox running with 2 windows open, which represents what I usually run using Fluxbox.

Both times it showed approximately 2500MB of free RAM, the difference being more held inactive at 4GB, and about 9% less CPU load with HyperThreading Technology enabled through ACPI so I decided to leave it at 3GB.

HTT was the main selling point of the P4 and I think I'm better off enabling it than with an extra GB of RAM to spare that I'm not really putting to use.

Thanks again for the advise.
 
Top