STI, HLT in acpi_cpu_idle_c1

Gerrit Nagelhout gnagelhout at
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>  <><
>     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 mailing list