]> git.baikalelectronics.ru Git - kernel.git/commit
workqueue: move hot fields of workqueue_struct to the end
authorTejun Heo <tj@kernel.org>
Mon, 1 Apr 2013 18:23:35 +0000 (11:23 -0700)
committerTejun Heo <tj@kernel.org>
Mon, 1 Apr 2013 18:23:35 +0000 (11:23 -0700)
commit486685225e597bae011eeae3a3bf57c97693b910
treea5dd0281fa072f669690f5f5e1a77efe32a64ac2
parentee833118af11c5e058700fd006f32357765a6cf9
workqueue: move hot fields of workqueue_struct to the end

Move wq->flags and ->cpu_pwqs to the end of workqueue_struct and align
them to the cacheline.  These two fields are used in the work item
issue path and thus hot.  The scheduled NUMA affinity support will add
dispatch table at the end of workqueue_struct and relocating these two
fields will allow us hitting only single cacheline on hot paths.

Note that wq->pwqs isn't moved although it currently is being used in
the work item issue path for unbound workqueues.  The dispatch table
mentioned above will replace its use in the issue path, so it will
become cold once NUMA support is implemented.

Signed-off-by: Tejun Heo <tj@kernel.org>
Reviewed-by: Lai Jiangshan <laijs@cn.fujitsu.com>
kernel/workqueue.c