forked from Minki/linux
workqueue: Remove the cacheline_aligned for nr_running
nr_running is never modified remotely after the schedule callback in wakeup path is removed. Rather nr_running is often accessed with other fields in the pool together, so the cacheline_aligned for nr_running isn't needed. Signed-off-by: Lai Jiangshan <laijs@linux.alibaba.com> Signed-off-by: Tejun Heo <tj@kernel.org>
This commit is contained in:
parent
989442d737
commit
84f91c62d6
@ -154,6 +154,9 @@ struct worker_pool {
|
||||
|
||||
unsigned long watchdog_ts; /* L: watchdog timestamp */
|
||||
|
||||
/* The current concurrency level. */
|
||||
atomic_t nr_running;
|
||||
|
||||
struct list_head worklist; /* L: list of pending works */
|
||||
|
||||
int nr_workers; /* L: total number of workers */
|
||||
@ -177,19 +180,12 @@ struct worker_pool {
|
||||
struct hlist_node hash_node; /* PL: unbound_pool_hash node */
|
||||
int refcnt; /* PL: refcnt for unbound pools */
|
||||
|
||||
/*
|
||||
* The current concurrency level. As it's likely to be accessed
|
||||
* from other CPUs during try_to_wake_up(), put it in a separate
|
||||
* cacheline.
|
||||
*/
|
||||
atomic_t nr_running ____cacheline_aligned_in_smp;
|
||||
|
||||
/*
|
||||
* Destruction of pool is RCU protected to allow dereferences
|
||||
* from get_work_pool().
|
||||
*/
|
||||
struct rcu_head rcu;
|
||||
} ____cacheline_aligned_in_smp;
|
||||
};
|
||||
|
||||
/*
|
||||
* The per-pool workqueue. While queued, the lower WORK_STRUCT_FLAG_BITS
|
||||
|
Loading…
Reference in New Issue
Block a user