From owner-freebsd-current@FreeBSD.ORG Wed Nov 19 20:11:31 2008 Return-Path: Delivered-To: current@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 665B11065748 for ; Wed, 19 Nov 2008 20:11:28 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from server.baldwin.cx (bigknife-pt.tunnel.tserv9.chi1.ipv6.he.net [IPv6:2001:470:1f10:75::2]) by mx1.freebsd.org (Postfix) with ESMTP id 3DD618FC0A for ; Wed, 19 Nov 2008 20:11:28 +0000 (UTC) (envelope-from jhb@FreeBSD.org) Received: from localhost.corp.yahoo.com (john@localhost [IPv6:::1]) (authenticated bits=0) by server.baldwin.cx (8.14.3/8.14.3) with ESMTP id mAJKB3bF052213 for ; Wed, 19 Nov 2008 15:11:22 -0500 (EST) (envelope-from jhb@FreeBSD.org) From: John Baldwin To: current@FreeBSD.org Date: Wed, 19 Nov 2008 15:03:02 -0500 User-Agent: KMail/1.9.7 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200811191503.02192.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (server.baldwin.cx [IPv6:::1]); Wed, 19 Nov 2008 15:11:22 -0500 (EST) X-Virus-Scanned: ClamAV 0.93.1/8650/Tue Nov 18 23:59:50 2008 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-2.6 required=4.2 tests=AWL,BAYES_00,NO_RELAYS autolearn=ham version=3.1.3 X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on server.baldwin.cx Cc: Subject: [PATCH] ppbus/ppc locking X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Nov 2008 20:11:31 -0000 Please test! This is the last non-MPSAFE network driver at this point. This patch adds locking for the ppbus(4)/ppc(4) devices and the various ppbus child devices (lpt, vpo, lpbb, ppi, pps). The basic model is that a single mutex in the ppc(4) driver protects the ppc0 hardware and is shared with the various child drivers. Two drivers now have detach methods that did not have them before (plip and ppi). I've done some simple testing on my laptop (able to load the drivers and do some simple things w/o panic'ing or tripping assertions), but I am not really able to test the peripheral drivers fully. http://www.FreeBSD.org/~jhb/patches/ppc_locking.patch -- John Baldwin