On Sat, 2004-08-21 at 15:25, Fernando Pablo Lopez-Lezcano wrote: > On Fri, 2004-08-20 at 22:59, Jon Smirl wrote: > > I don't believe the DRM drivers are holding any global kernel locks > > when they do wait_for_fifo. Any locks held would be internal to DRM and > > can be changed if needed. > > There must be a lock. I used to use a patch that I found somewhere (that > does conditional reschedules), but it triggers the "scheduling while > lock held" kernel oops if you enable that option in the kernel > configuration. >
There are several, and they undoubtedly interact in subtle ways. Grep for spin_lock in the drm directory and you will see what i mean. These locks are internal to the DRM and not global kernel locks, which makes it possible to fix them, but holding any spinlock will disable preemption. Based on the generalized solution Ingo proposed and the reaction of the DRI developers it seems like this will not be too hard to fix, but a thorough understanding of the locking code will be required. Lee ------------------------------------------------------- SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media 100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33 Save 50% off Retail on Ink & Toner - Free Shipping and Free Gift. http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285 -- _______________________________________________ Dri-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/dri-devel