From owner-freebsd-current@FreeBSD.ORG Sun Oct 19 22:17:24 2003 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9923A16A4B3 for ; Sun, 19 Oct 2003 22:17:24 -0700 (PDT) Received: from lewis.lclark.edu (lewis.lclark.edu [149.175.1.5]) by mx1.FreeBSD.org (Postfix) with SMTP id F24A143FD7 for ; Sun, 19 Oct 2003 22:17:21 -0700 (PDT) (envelope-from eta@lclark.edu) Received: from [149.175.34.27] ([149.175.34.27]) by lewis.lclark.edu (SAVSMTP 3.1.1.32) with SMTP id M2003101922172126028 for ; Sun, 19 Oct 2003 22:17:21 -0700 From: Eric Anholt To: current@freebsd.org In-Reply-To: <1066370607.644.220.camel@leguin> References: <1066370607.644.220.camel@leguin> Content-Type: text/plain Message-Id: <1066627040.7865.2.camel@leguin> Mime-Version: 1.0 X-Mailer: Ximian Evolution 1.4.5 Date: Sun, 19 Oct 2003 22:17:21 -0700 Content-Transfer-Encoding: 7bit Subject: Re: DRM SMPng locking for review X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 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: Mon, 20 Oct 2003 05:17:24 -0000 On Thu, 2003-10-16 at 23:03, Eric Anholt wrote: > I've been working on locking of the DRM, based off of the work that was > already done for linux and ported to BSD. I think the current locking > was wrong, including that it used lockmgr and simplelocks on -stable > when as far as I know it was unnecessary. Also, I had marked the IRQ > handlers MPSAFE without understanding the issue really, so IRQs could > get missed. Here's a patch, which I hope someone can review because I > don't trust myself at all. > http://people.freebsd.org/~anholt/dri/files/drm-locking-2.diff > > It's against DRI CVS, as I haven't merged to FreeBSD in a while. You > can get it using the instructions at: > http://dri.sourceforge.net/cgi-bin/moin.cgi/CVS > If you don't want to build the whole tree, you can just: > > cd xc > patch -p0 < ~/drm-locking-2.diff > cd programs/Xserver/hw/xfree86/os-support/bsd/drm/kernel > ln -s ../../../shared/drm/kernel/*.[ch] ./ > > Quick question: If open returns an error, close doesn't get called, does > it? Well, I went ahead and made a bunch of fixes and committed it. Should anyone want to review the code, the same steps with the patch step removed should do it. I'll probably bring it over to -current some time soon. -- Eric Anholt eta@lclark.edu http://people.freebsd.org/~anholt/ anholt@FreeBSD.org