• L
    workqueue: wq_pool_mutex protects the attrs-installation · 5b95e1af
    Lai Jiangshan 提交于
    Current wq_pool_mutex doesn't proctect the attrs-installation, it results
    that ->unbound_attrs, ->numa_pwq_tbl[] and ->dfl_pwq can only be accessed
    under wq->mutex and causes some inconveniences. Example, wq_update_unbound_numa()
    has to acquire wq->mutex before fetching the wq->unbound_attrs->no_numa
    and the old_pwq.
    
    attrs-installation is a short operation, so this change will no cause any
    latency for other operations which also acquire the wq_pool_mutex.
    
    The only unprotected attrs-installation code is in apply_workqueue_attrs(),
    so this patch touches code less than comments.
    
    It is also a preparation patch for next several patches which read
    wq->unbound_attrs, wq->numa_pwq_tbl[] and wq->dfl_pwq with
    only wq_pool_mutex held.
    Signed-off-by: NLai Jiangshan <laijs@cn.fujitsu.com>
    Signed-off-by: NTejun Heo <tj@kernel.org>
    5b95e1af
workqueue.c 146.4 KB