• Uros Bizjak's avatar
    workqueue: Correct declaration of cpu_pwq in struct workqueue_struct · c4c8f369
    Uros Bizjak authored
    cpu_pwq is used in various percpu functions that expect variable in
    __percpu address space. Correct the declaration of cpu_pwq to
    
    struct pool_workqueue __rcu * __percpu *cpu_pwq
    
    to declare the variable as __percpu pointer.
    
    The patch also fixes following sparse errors:
    
    workqueue.c:380:37: warning: duplicate [noderef]
    workqueue.c:380:37: error: multiple address spaces given: __rcu & __percpu
    workqueue.c:2271:15: error: incompatible types in comparison expression (different address spaces):
    workqueue.c:2271:15:    struct pool_workqueue [noderef] __rcu *
    workqueue.c:2271:15:    struct pool_workqueue [noderef] __percpu *
    
    and uncovers a couple of exisiting "incorrect type in assignment"
    warnings (from __rcu address space), which this patch does not address.
    
    Found by GCC's named address space checks.
    
    There were no changes in the resulting object files.
    Signed-off-by: default avatarUros Bizjak <ubizjak@gmail.com>
    Cc: Tejun Heo <tj@kernel.org>
    Cc: Lai Jiangshan <jiangshanlai@gmail.com>
    Signed-off-by: default avatarTejun Heo <tj@kernel.org>
    c4c8f369
workqueue.c 223 KB