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? -- Eric Anholt [EMAIL PROTECTED] http://people.freebsd.org/~anholt/ [EMAIL PROTECTED] _______________________________________________ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "[EMAIL PROTECTED]"