ACPI-CA update patch for review

Simon 'corecode' Schubert corecode at fs.ei.tum.de
Mon Jan 8 22:16:47 PST 2007


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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pgp00003.pgp
Type: application/octet-stream
Size: 252 bytes
Desc: "Description: OpenPGP digital signature"
URL: <http://lists.dragonflybsd.org/pipermail/submit/attachments/20070108/6915449a/attachment-0013.obj>


More information about the Submit mailing list