• Tejun Heo's avatar
    workqueue: reimplement work flushing using linked works · affee4b2
    Tejun Heo authored
    A work is linked to the next one by having WORK_STRUCT_LINKED bit set
    and these links can be chained.  When a linked work is dispatched to a
    worker, all linked works are dispatched to the worker's newly added
    ->scheduled queue and processed back-to-back.
    
    Currently, as there's only single worker per cwq, having linked works
    doesn't make any visible behavior difference.  This change is to
    prepare for multiple shared workers per cpu.
    Signed-off-by: default avatarTejun Heo <tj@kernel.org>
    affee4b2
workqueue.c 42.9 KB