summaryrefslogtreecommitdiff
path: root/kernel/workqueue.c
diff options
context:
space:
mode:
authorLai Jiangshan <laijs@cn.fujitsu.com>2013-02-19 12:17:01 -0800
committerTejun Heo <tj@kernel.org>2013-03-04 09:44:57 -0800
commit45d9550a0e7e9230606ca3c4c6f4dc6297848b2f (patch)
treef7630d4336447782233f333379ffdd2c258f8b01 /kernel/workqueue.c
parent6dbe51c251a327e012439c4772097a13df43c5b8 (diff)
downloadlwn-45d9550a0e7e9230606ca3c4c6f4dc6297848b2f.tar.gz
lwn-45d9550a0e7e9230606ca3c4c6f4dc6297848b2f.zip
workqueue: allow more off-queue flag space
When a work item is off-queue, its work->data contains WORK_STRUCT_* and WORK_OFFQ_* flags. As WORK_OFFQ_* flags are used only while a work item is off-queue, it can occupy bits of work->data which aren't used while off-queue. WORK_OFFQ_* currently only use bits used by on-queue CWQ pointer. As color bits aren't used while off-queue, there's no reason to not use them. Lower WORK_OFFQ_FLAG_BASE from WORK_STRUCT_FLAG_BITS to WORK_STRUCT_COLOR_SHIFT thus giving 4 more bits to off-queue flag space which is also used to record worker_pool ID while off-queue. This doesn't introduce any visible behavior difference. tj: Rewrote the description. Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com> Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'kernel/workqueue.c')
0 files changed, 0 insertions, 0 deletions