Skip to content
  • Shaohua Li's avatar
    workqueue: copy workqueue_attrs with all fields · 73b8bd6d
    Shaohua Li authored
    
    
    commit 2865a8fb44cc32420407362cbda80c10fa09c6b2 upstream.
    
     $echo '0' > /sys/bus/workqueue/devices/xxx/numa
     $cat /sys/bus/workqueue/devices/xxx/numa
    
    I got 1. It should be 0, the reason is copy_workqueue_attrs() called
    in apply_workqueue_attrs() doesn't copy no_numa field.
    
    Fix it by making copy_workqueue_attrs() copy ->no_numa too.  This
    would also make get_unbound_pool() set a pool's ->no_numa attribute
    according to the workqueue attributes used when the pool was created.
    While harmelss, as ->no_numa isn't a pool attribute, this is a bit
    confusing.  Clear it explicitly.
    
    tj: Updated description and comments a bit.
    
    Signed-off-by: default avatarShaohua Li <shli@fusionio.com>
    Signed-off-by: default avatarTejun Heo <tj@kernel.org>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    73b8bd6d