Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 2 Jun 2007 19:21:41 +0000 (UTC)
From:      Nate Lawson <njl@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/dev/acpica acpi_ec.c
Message-ID:  <200706021921.l52JLfIl017752@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200706021921.l52JLfIl017752>