mirror of
https://github.com/torvalds/linux
synced 2024-10-06 19:34:19 +00:00
workqueue: Re-order struct worker fields
struct worker was laid out with the intent that all fields that are modified for each work item execution are in the first cacheline. However, this hasn't been true for a while with the addition of ->last_func. Let's just collect hot fields together at the top. Move ->sleeping in the hole after ->current_color and move ->lst_func right below. While at it, drop the cacheline comment which isn't useful anymore. Signed-off-by: Tejun Heo <tj@kernel.org> Cc: Lai Jiangshan <jiangshanlai@gmail.com>
This commit is contained in:
parent
725e8ec59c
commit
3a46c9833c
|
@ -32,9 +32,12 @@ struct worker {
|
|||
work_func_t current_func; /* L: current_work's fn */
|
||||
struct pool_workqueue *current_pwq; /* L: current_work's pwq */
|
||||
unsigned int current_color; /* L: current_work's color */
|
||||
struct list_head scheduled; /* L: scheduled works */
|
||||
int sleeping; /* None */
|
||||
|
||||
/* 64 bytes boundary on 64bit, 32 on 32bit */
|
||||
/* used by the scheduler to determine a worker's last known identity */
|
||||
work_func_t last_func; /* L: last work's fn */
|
||||
|
||||
struct list_head scheduled; /* L: scheduled works */
|
||||
|
||||
struct task_struct *task; /* I: worker task */
|
||||
struct worker_pool *pool; /* A: the associated pool */
|
||||
|
@ -45,7 +48,6 @@ struct worker {
|
|||
unsigned long last_active; /* L: last active timestamp */
|
||||
unsigned int flags; /* X: flags */
|
||||
int id; /* I: worker id */
|
||||
int sleeping; /* None */
|
||||
|
||||
/*
|
||||
* Opaque string set with work_set_desc(). Printed out with task
|
||||
|
@ -55,9 +57,6 @@ struct worker {
|
|||
|
||||
/* used only by rescuers to point to the target workqueue */
|
||||
struct workqueue_struct *rescue_wq; /* I: the workqueue to rescue */
|
||||
|
||||
/* used by the scheduler to determine a worker's last known identity */
|
||||
work_func_t last_func;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in a new issue