cvs commit: src/sys/dev/acpica acpi_ec.c

Nate Lawson njl at FreeBSD.org
Sat Jun 2 19:21:42 UTC 2007


njl         2007-06-02 19:21:41 UTC

  FreeBSD src repository

  Modified files:
    sys/dev/acpica       acpi_ec.c 
  Log:
  AcpiAcquireGlobalLock() can sometimes sleep if the mutex is contested.
  The global lock is a memory region shared with the BIOS and thus
  has some strange behavior like the fact that the sleep is 1 ms max.
  We use standard mutexes to synchronize with the SCI so acquiring
  the global lock after locking the mutex resulted in a witness
  warning.
  
  To deal with this for now, acquire the global lock before all other
  locks, similar to Giant.  This should fix the witness "sleeping
  with mutex held" issue on boot that occurred after the last ACPI-CA
  import.  In the future, we hope to move to the new mutex interface
  in ACPI-CA instead of the pseudo-semaphore version we have now.
  
  Reviewed by:    jkim
  
  Revision  Changes    Path
  1.74      +10 -13    src/sys/dev/acpica/acpi_ec.c


More information about the cvs-all mailing list