diff options
author | Lai Jiangshan <laijs@cn.fujitsu.com> | 2013-02-07 22:14:20 +0100 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2013-02-07 22:17:51 +0100 |
commit | 8594fade39d3ad02ef856b8c53b5d7cc538a55f5 (patch) | |
tree | 7f14598186e3fbc5feb91b1c25905b51d106a104 /include/trace/events | |
parent | workqueue: make get_work_pool_id() cheaper (diff) | |
download | linux-8594fade39d3ad02ef856b8c53b5d7cc538a55f5.tar.xz linux-8594fade39d3ad02ef856b8c53b5d7cc538a55f5.zip |
workqueue: pick cwq instead of pool in __queue_work()
Currently, __queue_work() chooses the pool to queue a work item to and
then determines cwq from the target wq and the chosen pool. This is a
bit backwards in that we can determine cwq first and simply use
cwq->pool. This way, we can skip get_std_worker_pool() in queueing
path which will be a hurdle when implementing custom worker pools.
Update __queue_work() such that it chooses the target cwq and then use
cwq->pool instead of the other way around. While at it, add missing
{} in an if statement.
This patch doesn't introduce any functional changes.
tj: The original patch had two get_cwq() calls - the first to
determine the pool by doing get_cwq(cpu, wq)->pool and the second
to determine the matching cwq from get_cwq(pool->cpu, wq).
Updated the function such that it chooses cwq instead of pool and
removed the second call. Rewrote the description.
Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'include/trace/events')
0 files changed, 0 insertions, 0 deletions