• Tejun Heo's avatar
    workqueue: implement sysfs interface for workqueues · 226223ab
    Tejun Heo authored
    There are cases where workqueue users want to expose control knobs to
    userland.  e.g. Unbound workqueues with custom attributes are
    scheduled to be used for writeback workers and depending on
    configuration it can be useful to allow admins to tinker with the
    priority or allowed CPUs.
    
    This patch implements workqueue_sysfs_register(), which makes the
    workqueue visible under /sys/bus/workqueue/devices/WQ_NAME.  There
    currently are two attributes common to both per-cpu and unbound pools
    and extra attributes for unbound pools including nice level and
    cpumask.
    
    If alloc_workqueue*() is called with WQ_SYSFS,
    workqueue_sysfs_register() is called automatically as part of
    workqueue creation.  This is the preferred method unless the workqueue
    user wants to apply workqueue_attrs before making the workqueue
    visible to userland.
    
    v2: Disallow exposing ordered workqueues as ordered workqueues can't
        be tuned in any way.
    Signed-off-by: default avatarTejun Heo <tj@kernel.org>
    226223ab
workqueue.c 123 KB