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

Reply via email to