• Tejun Heo's avatar
    workqueue: implement cpu intensive workqueue · fb0e7beb
    Tejun Heo authored
    This patch implements cpu intensive workqueue which can be specified
    with WQ_CPU_INTENSIVE flag on creation.  Works queued to a cpu
    intensive workqueue don't participate in concurrency management.  IOW,
    it doesn't contribute to gcwq->nr_running and thus doesn't delay
    excution of other works.
    
    Note that although cpu intensive works won't delay other works, they
    can be delayed by other works.  Combine with WQ_HIGHPRI to avoid being
    delayed by other works too.
    
    As the name suggests this is useful when using workqueue for cpu
    intensive works.  Workers executing cpu intensive works are not
    considered for workqueue concurrency management and left for the
    scheduler to manage.
    Signed-off-by: default avatarTejun Heo <tj@kernel.org>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    fb0e7beb
workqueue.c 93.7 KB