PII SMP system hangs during boot with ACPI enabled

Nate Lawson nate at root.org
Mon Nov 24 16:01:01 PST 2003


On Mon, 24 Nov 2003, John Polstra wrote:
> On 24-Nov-2003 Nate Lawson wrote:
> >
> > Trace 1:
> > wakeup(c2944100,0,c06a7546,140,6c) at wakeup+0x4
> > AcpiOsSignalSemaphore(c2944100,1) at AcpiOsSignalSemaphore+0xa8
> > AcpiUtReleaseMutex(9,30,c295e8c0,c295e760,cdb64acc) at AcpiUtReleaseMutex+0x8c
> > AcpiUtReleaseToCache(3,c295e760,cdb64ad8,c045ac17,c295e760) at
> > AcpiUtReleaseToCache+0x8c
> >
> > Trace 2:
> > _mtx_unlock_flags(c2944100,0,c06a7546,150,6c) at _mtx_unlock_flags+0x96
> > AcpiOsSignalSemaphore(c2944100,1) at AcpiOsSignalSemaphore+0xc8
> > AcpiUtReleaseMutex(9,8,c045f9cc,c2965940,c12a0c00) at AcpiUtReleaseMutex+0x8c
> > AcpiUtAcquireFromCache(2,cdb64bf4,c0462229,c12a0c00,cdb64c34) at
> > AcpiUtAcquireFromCache+0x53
> >
> > Both of these show that acpi_task_thread is calling a task and then
> > AcpiOsSignalSemaphore is hanging.  I'm wondering if your system can't
> > handle the acpi interrupt being moved to irq 20.  Please try this
> > (untested) patch that should disable moving the SCI to irq 20.
>
> As I mentioned a minute ago, the patch didn't help.  But I grabbed
> another stack trace while I was at it.  This one is quite different
> from the others.  I don't think it's different because of your
> patch, though.  I saw one like this earlier, but thought it might
> have been an anomaly caused by my own mucking around in DDB.
>
> siointr1(c298d000,0,c06c9b97,6a0,cdb5ec70) at siointr1+0xec
> siointr(c298d000,c053a016,c06d88a0,c06e7ae0,4) at siointr+0x35
> intr_execute_handlers(c129f88c,cdb5ec88,cdb5eccc,c065ca43,34) at
> intr_execute_handlers+0xc8
> lapic_handle_intr(34) at lapic_handle_intr+0x3a
> Xapic_isr1() at Xapic_isr1+0x33
> --- interrupt, eip = 0xc053a4ea, esp = 0xcdb5eccc, ebp = 0xcdb5eccc ---
> critical_exit(c070af20,1,c06b8c37,14b,0) at critical_exit+0x2a
> _mtx_unlock_spin_flags(c070af20,0,c06b74f7,23a,c294954c) at
> _mtx_unlock_spin_flags+0x9d
> ithread_loop(c12a6800,cdb5ed48,c06b7365,311,0) at ithread_loop+0x26e
> fork_exit(c0520150,c12a6800,cdb5ed48) at fork_exit+0xb4
> fork_trampoline() at fork_trampoline+0x8
> --- trap 0x1, eip = 0, esp = 0xcdb5ed7c, ebp = 0 ---

Someone more familiar with ithread_loop should probably answer this.  One
workaround might be to enable ACPI_NO_SEMAPHORES on your box.

-Nate


More information about the freebsd-current mailing list