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 eta_at_lclark.edu http://people.freebsd.org/~anholt/ anholt_at_FreeBSD.orgReceived on Thu Oct 16 2003 - 21:03:29 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:25 UTC