New 2nd CPU not recognised
-
I'm beginning to think a reinstall is the next best thing to try…
What will you do differently on the reinstall?
If the system BIOS reports two CPUs at POST then it's likely the BIOS has already been enabled for multiple CPU support.
That the BIOS recognises two CPUs doesn't mean it will tell the OS there are two CPUs, nor does it mean the OS is listening.
Please post the output of pfSense shell command dmesg - perhaps there will be some clues there about what is going on.
Is ACPI enabled on your system? In the BIOS? In FreeBSD?
-
Well, I was thinking that having the two CPUs present during the actual install might make a difference.
But anyway, you were on the right track with the ACPI. I disabled this in the BIOS and now I have 'hw.ncpu: 2' and I get the additional column for the CPU number when I do 'top'. And I see a drop in the CPU load as well, so objective achieved :)
Many thanks for your help with this, I'm really grateful to have got this cleared up in just a few days.
Adrian
-
But anyway, you were on the right track with the ACPI. I disabled this in the BIOS and now I have 'hw.ncpu: 2'
I would be very surprised if DISABLING ACPI caused the second CPU to be recognised. Did you mean ENABLING ACPI? Or perhaps DISABLING the DISABLE ACPI?
If you really think DISABLING ACPI worked please post the output of pfSense shell command dmesg. Maybe the BIOS reports ACPI the wrong way around.
-
Hello,
The BIOS now shows:
ACPI function [Disabled]
And the dmesg output:
[2.0.1-RELEASE]/root(4): dmesg | grep acpi
[2.0.1-RELEASE]/root(5): dmesg | grep ACPI
Features=0xbfebfbff <fpu,vme,de,pse,tsc,msr,pae,mce,cx8,apic,sep,mtrr,pge,mca,cmov,pat,pse36,clflush,dts,acpi,mmx,fxsr,sse,sse2,ss,htt,tm,pbe>ACPI Error: A valid RSDP was not found (20100331/tbxfroot-309)
ACPI Error: A valid RSDP was not found (20100331/tbxfroot-309)
ACPI: Table initialisation failed: AE_NOT_FOUND
ACPI: Try disabling either ACPI or apic support.</fpu,vme,de,pse,tsc,msr,pae,mce,cx8,apic,sep,mtrr,pge,mca,cmov,pat,pse36,clflush,dts,acpi,mmx,fxsr,sse,sse2,ss,htt,tm,pbe> -
If the system BIOS reports two CPUs at POST then it's likely the BIOS has already been enabled for multiple CPU support.
That the BIOS recognises two CPUs doesn't mean it will tell the OS there are two CPUs, nor does it mean the OS is listening.
On that note, what option is there in a modern BIOS for disabling a second CPU? Hyperthreading yes, I have seen and had to enable that many times but a second physical CPU or one with more cores always entailed stepping up to an SMP kernel if not already present. Isn't the SMP kernel the point of the OS listening to the BIOS that there is now more than one CPU? It does seem weird disabling ACPI would make it see it. Maybe ACPI needs to be "refreshed" and disabling it cleared something cached somewhere and now re-enabling it will make the OS see it? It's not infallible after all.
-
On that note, what option is there in a modern BIOS for disabling a second CPU? Hyperthreading yes, I have seen and had to enable that many times but a second physical CPU or one with more cores always entailed stepping up to an SMP kernel if not already present. Isn't the SMP kernel the point of the OS listening to the BIOS that there is now more than one CPU?
ACPI data is one way a BIOS can tell the OS how many CPUs are present. FreeBSD has a boot option to ignore ACPI data.
The BIOS now shows:
ACPI function [Disabled]
I'm curious how the OS knows about the second CPU. Could you post the unfiltered dmesg output?
What brand and model number motherboard are you using?
-
Ahhh OK, makes sense now. Thanks!
-
I attached the dmesg output. As for the motherboard, I'm not sure, but I have to open up an identical machine later so I will look then.
Adrian -
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs FreeBSD/SMP: 2 package(s) x 1 core(s) cpu0 (BSP): APIC ID: 0 cpu1 (AP): APIC ID: 6 [...] SMP: AP CPU #1 Launched!
It is seeing and using both CPUs according to that dmesg output. (CPU #1 is the second CPU, after #0…)
-
Motherboard: NAMB-6201
-
The dmesg output shows the system saw a BIOS provided MPTABLE which would have informed it of the second CPU.
MPTABLE was the mechanism by which a BIOS informed an MP capable OS of the CPUS, APICs etc. It has pretty much ben superseded by ACPI.
Your observations suggest the BIOS puts two CPUs in the MPTABLE but only one in the ACPI data. Maybe there is a BIOS update to correct the ACPI data.
A quick google suggests the motherboard is an Advantech brand but I didn't turn up anywhere to download manuals, bios etc.
-
the latest bios release is 1.40
http://support.advantech.com/support/DownloadSRDetail.aspx?SR_ID=1-22S1SY1)you don`t have hyper threading enabled
2)ACPI is disabledwith 2 procs operating systems will see 4 cores(each CPU+hyper threading )
L.E:
print screen is from a pfsense on esxi but should be the same on your system