• Tejun Heo's avatar
    workqueue: implement unbound workqueue · f3421797
    Tejun Heo authored
    This patch implements unbound workqueue which can be specified with
    WQ_UNBOUND flag on creation.  An unbound workqueue has the following
    properties.
    
    * It uses a dedicated gcwq with a pseudo CPU number WORK_CPU_UNBOUND.
      This gcwq is always online and disassociated.
    
    * Workers are not bound to any CPU and not concurrency managed.  Works
      are dispatched to workers as soon as possible and the only applied
      limitation is @max_active.  IOW, all unbound workqeueues are
      implicitly high priority.
    
    Unbound workqueues can be used as simple execution context provider.
    Contexts unbound to any cpu are served as soon as possible.
    Signed-off-by: default avatarTejun Heo <tj@kernel.org>
    Cc: Arjan van de Ven <arjan@linux.intel.com>
    Cc: David Howells <dhowells@redhat.com>
    f3421797
workqueue.c 97 KB