YONETANI Tomokazu wrote:
Was it a complete hang, or stuck for a few minutes?  Was that during early
in the boot, or sysctl from the command line (either in single- or multi-
user mode)?  Also, if you were able to drop into DDB, please send me the
backtrace, in particular a few function names below (I mean callers of)
AcpiOsWaitSemaphore().

It was stuck on bootup (the random thing: seedenable + dd).  I did a ^C (after 
some time) and this was printed:

ACPI Exception (exutils-0382): AE_TIME, Could not aquire Global Lock [20061109]
acpi_acad0: On Line

there were two processes in acsem:  acpi_task and sysctl (why sysctl has to 
aquire the acpi lock is out of my imagination).  both seem to try to aquire the 
global lock.  sysctl can happen to run (sleep) on CPU #0 or CPU #1.

trace of acpi_task (transcribed):
AcpiOsWaitSemaphore(c3bc12f0,1,ffff)
AcpiExSystemWaitSemaphore(c3bc12f0,ffff)
AcpiEvAcquireGlobalLock(ffff)
AcpiExAcquireGlobalLock(10)
AcpiExWriteDataToField
AcpiExStoreObjectToNode
AcpiExStore
AcpiExOpcode_1A_1T_1R
AcpiDsExecEndOp
AcpiPsParseLoop
AcpiPsParseAml
ApciPsExecuteMethod
AcpiNsEvaluate
AcpiEvaluateObject
acpi_GetInteger
acpi_acad_get_status
acpi_acad_init_acline
acpi_task_thread


trace of sysctl:
AcpiOsWaitSemaphore(c3bc12d8,1,ffff)
AcpiExSystemWaitMutex(c3bc12d8,ffff)
AcpiEvAcquireGlobalLock(ffff)
AcpiExAcquireGlobalLock(10)
AcpiExWriteDataToField
AcpiExStoreObjectToNode
AcpiExStore
AcpiExOpcode_1A_1T_1R
AcpiDsExecEndOp
AcpiPsParseLoop
AcpiPsParseAml
AcpiPsExecuteMethod
AcpiNsEvaluate
AcpiEvaluateObject
acpi_GetInteger
acpi_acad_get_acline
acpi_acad_sysctl
sysctl_root
userland_sysctl
sys___sysctl
syscall2


on a (maybe) unrelated matter:

I saw your implementation of AcpiOsAcquireLock is not MP-safe (only uses 
critical sections) and always allows the idle thread to take the lock (even 
when it is already held before).  Is this intended?

oh well, i see that AS_LOCK(as) == crit_enter().  Obviously, this doesn't work 
for SMP systems, no?

cheers
 simon

--
Serve - BSD     +++  RENT this banner advert  +++    ASCII Ribbon   /"\
Work - Mac      +++  space for low €€€ NOW!1  +++      Campaign     \ /
Party Enjoy Relax   |   http://dragonflybsd.org      Against  HTML   \
Dude 2c 2 the max   !   http://golden-apple.biz       Mail + News   / \

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to