• Tejun Heo's avatar
    workqueue: use irqsafe timer for delayed_work · e0aecdd8
    Tejun Heo authored
    Up to now, for delayed_works, try_to_grab_pending() couldn't be used
    from IRQ handlers because IRQs may happen while
    delayed_work_timer_fn() is in progress leading to indefinite -EAGAIN.
    
    This patch makes delayed_work use the new TIMER_IRQSAFE flag for
    delayed_work->timer.  This makes try_to_grab_pending() and thus
    mod_delayed_work_on() safe to call from IRQ handlers.
    Signed-off-by: default avatarTejun Heo <tj@kernel.org>
    e0aecdd8
workqueue.c 105 KB