STI, HLT in acpi_cpu_idle_c1
gnagelhout at sandvine.com
Tue Jun 22 21:50:29 GMT 2004
> :On Thursday 17 June 2004 07:33 pm, Matthew Dillon wrote:
> :> It kinda sounds like ACPI has bokered the other cpus.
> I'm not sure
> :> why one would even *want* to use ACPI to idle down
> Xeon's in an MP
> :> system, actually :-)
> :Power and heat savings.
> :John Baldwin <jhb at FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/
> All well and nice, but if you want power and heat savings
> you don't
> purchase a big honking SMP box in the first place.
> This sounds like a disaster waiting to happen to me.
> ACPI barely works
> on UP systems, there is no way I would ever trust it to
> properly HLT or
> otherwise screw around with the cpu timing on an SMP
> system. HLT is
> plenty good enough. IMHO this type of feature is not
> something that
> should be turned on by default on SMP.
I am working with Don Bowman to try and debug this problem (the lockup).
I have an emulator attached, and managed to get it into the locked up
state. Three of the cpus are in idle (acpi_cpu_c1) (and have interrupts
enabled, EFLAGS=0x246), and the other one (cpu 3) is in smp_tlb_shootdown
waiting for one more processor to respond. The APIC register for CPU 3
(icr_lo) indicates that the IPI (0xf3) has been sent (ie it's idle).
The isr registers for CPU 1 indicate that vector oxf3 is pending, but it
is not being handled. I am still trying to figure out why this is, but
does anyone have any suggested on what else I can look at?
More information about the freebsd-current