SMP system not running SMP

John Baldwin jhb at freebsd.org
Mon Jun 26 18:43:37 UTC 2006


On Friday 23 June 2006 15:08, Peter Seebach wrote:
> In message <200606231315.56988.jhb at freebsd.org>, John Baldwin writes:
> >Ok, when you boot in safe mode, you don't just disable ACPI, you also disable 
> >APIC which has the side effect of disabling SMP.  Try breaking into the boot 
> >loader prompt at the menu and just doing:
> 
> >'ok set hint.acpi.0.disabled=1'
> >'ok boot'
> 
> >and seeing if that gives you SMP.
> 
> Is this at all similar to the "ACPI disabled" way of booting already provided?
> 
> At least on my system, it has the same result; system hangs right after
> acd0, during "waiting for SCSI devices to settle" or possibly immediately
> after.

Ok.  That sounds like an interrupt routing issue.   It could be that the
interrupt routing info in the MP Table is incorrect.  Let's stick with
i386 for now (amd64 has the same code).  Here's what I think is true so
far:

ACPI disabled, APIC enabled:
 - hangs at SCSI probe

ACPI enabled, APIC enabled:
 - hangs?

ACPI enabled, APIC disabled:
 - not tried (use just 'set hint.apic.0.disabled=1' in the loader)
 - would not have SMP

ACPI disabled, APIC disabled (safe mode)
 - works as far as booting
 - no SMP (since no APIC)

Can you capture verbose dmesg's from the 1) and 2) cases (and if you
want, just try case 3) to make sure there isn't something else with ACPI
that is broken).

It would also be useful to include 'options DDB' in the kernel and to
break into the debugger and run 'show intrcnt' when it hangs during the
SCSI probe.  This lets me know if one of the other interrupts is
storming due to a misrouted interrupt.

-- 
John Baldwin


More information about the freebsd-amd64 mailing list