Re: [RFC PATCH 4/6] Make DRM use the tasklet is-sched API

From: Arnd Bergmann
Date: Fri Jun 22 2007 - 12:25:27 EST


On Friday 22 June 2007, Thomas Gleixner wrote:
> > > Index: linux-2.6.21-rt9/drivers/char/drm/drm_irq.c
> > > ===================================================================
> > > --- linux-2.6.21-rt9.orig/drivers/char/drm/drm_irq.c
> > > +++ linux-2.6.21-rt9/drivers/char/drm/drm_irq.c
> > > @@ -461,7 +461,7 @@ void drm_locked_tasklet(drm_device_t *de
> > >     static DECLARE_TASKLET(drm_tasklet, drm_locked_tasklet_func, 0);
> > >  
> > >     if (!drm_core_check_feature(dev, DRIVER_HAVE_IRQ) ||
> > > -       test_bit(TASKLET_STATE_SCHED, &drm_tasklet.state))
> > > +       tasklet_is_scheduled(&drm_tasklet))
> > >             return;
> > >  
> > >     spin_lock_irqsave(&dev->tasklet_lock, irqflags);
> > >
> >
> >
> > No sense in having a patch just for this, may as well merge this with
> > patch 3 ..
>
> Wrong. patch 3 adds the API and this one makes use of it. Stevens split
> makes perfectly sense.

Wouldn't the easy solution be to get rid of drm_locked_tasklet
entirely and convert i915_vblank_tasklet(), the only user, to use
a work queue right away?

The drm_locked_tasklet() function seems to have multiple bugs anyway,
so getting rid of it can only help, and it avoids exporting a new
tasklet_is_scheduled() interface.

Arnd <><
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/