From owner-cvs-all@FreeBSD.ORG Sat Jun 2 19:21:42 2007 Return-Path: X-Original-To: cvs-all@FreeBSD.org Delivered-To: cvs-all@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id B657D16A41F; Sat, 2 Jun 2007 19:21:42 +0000 (UTC) (envelope-from njl@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id A77CB13C44C; Sat, 2 Jun 2007 19:21:42 +0000 (UTC) (envelope-from njl@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l52JLfms017756; Sat, 2 Jun 2007 19:21:41 GMT (envelope-from njl@repoman.freebsd.org) Received: (from njl@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l52JLfIl017752; Sat, 2 Jun 2007 19:21:41 GMT (envelope-from njl) Message-Id: <200706021921.l52JLfIl017752@repoman.freebsd.org> From: Nate Lawson Date: Sat, 2 Jun 2007 19:21:41 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Cc: Subject: cvs commit: src/sys/dev/acpica acpi_ec.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 02 Jun 2007 19:21:42 -0000 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