From owner-freebsd-smp Thu Oct 17 8:14:36 2002 Delivered-To: freebsd-smp@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C007B37B401 for ; Thu, 17 Oct 2002 08:14:35 -0700 (PDT) Received: from duke.cs.duke.edu (duke.cs.duke.edu [152.3.140.1]) by mx1.FreeBSD.org (Postfix) with ESMTP id F07A343E6A for ; Thu, 17 Oct 2002 08:14:34 -0700 (PDT) (envelope-from gallatin@cs.duke.edu) Received: from grasshopper.cs.duke.edu (grasshopper.cs.duke.edu [152.3.145.30]) by duke.cs.duke.edu (8.9.3/8.9.3) with ESMTP id LAA15553 for ; Thu, 17 Oct 2002 11:14:34 -0400 (EDT) Received: (from gallatin@localhost) by grasshopper.cs.duke.edu (8.11.6/8.9.1) id g9HFE4d96552; Thu, 17 Oct 2002 11:14:04 -0400 (EDT) (envelope-from gallatin@cs.duke.edu) From: Andrew Gallatin MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <15790.54204.265656.241333@grasshopper.cs.duke.edu> Date: Thu, 17 Oct 2002 11:14:04 -0400 (EDT) To: freebsd-smp@freebsd.org Subject: MP synchronization rules documentation?? X-Mailer: VM 6.75 under 21.1 (patch 12) "Channel Islands" XEmacs Lucid Sender: owner-freebsd-smp@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org Are the synchronization rules for FreeBSD-current documented anywhere other than mutex(9)? http://people.FreeBSD.org/~jasone/smp/smp_synch_rules.html looks promising, but it seems to be dead. I'm asking because I've just been porting my $day_job's device driver to -current. At first, I thought the synchronization primitives would be a direct port from Solaris, but we (FreeBSD) seem to make a few assumptions that other OSes don't. Are the following assumptions currently true? 1) you cannot sleep holding a mutex, even if you know damned well its safe 2) you cannot hold any mutex other than Giant if you're holding Giant Are there other assumptions that are not documented in mutex(9)? Thanks, Drew To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-smp" in the body of the message