On Thu, 28 Feb 2019, Chris Wilson wrote:

> Quoting Sebastian Andrzej Siewior (2019-02-26 16:00:38)
> > On 2019-02-12 17:28:57 [+0100], To linux-ker...@vger.kernel.org wrote:
> > > The timer is initialized with TIMER_IRQSAFE flag. It does look like the
> > > timer callback requires this flag at all. Its sole purpose is to ensure
> > > synchronisation in the workqueue code.
> > > 
> > > Remove TIMER_IRQSAFE flag because it is not required.
> > 
> > ping
> 
> We call del_timer_sync from irq context, which mandates using
> TIMER_IRQSAFE. Failure to do so results in lots of explosions across CI
> -- every machine managed to hit the warning.
> 
> It may not be the best of api, but it's the only one available for the
> driver to use...

The comment in the header files says clearly:

 * Note: The irq disabled callback execution is a special case for
 * workqueue locking issues. It's not meant for executing random crap
 * with interrupts disabled. Abuse is monitored!                                
   

So what's so special in drm that you need to call del_timer_sync() from
interrupt context?

Thanks

        tglx




_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to