diff options
author | Tejun Heo <tj@kernel.org> | 2012-08-03 10:30:46 -0700 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2012-08-03 10:30:46 -0700 |
commit | b5490077274482efde57a50b060b99bc839acd45 (patch) | |
tree | dae1b67fa7b1c18d116fe97765bad1e52786e7aa /fs/fuse/Makefile | |
parent | bf4ede014ea886b71ef71368738da35b316cb7c0 (diff) | |
download | linux-b5490077274482efde57a50b060b99bc839acd45.tar.gz linux-b5490077274482efde57a50b060b99bc839acd45.tar.bz2 linux-b5490077274482efde57a50b060b99bc839acd45.zip |
workqueue: introduce WORK_OFFQ_FLAG_*
Low WORK_STRUCT_FLAG_BITS bits of work_struct->data contain
WORK_STRUCT_FLAG_* and flush color. If the work item is queued, the
rest point to the cpu_workqueue with WORK_STRUCT_CWQ set; otherwise,
WORK_STRUCT_CWQ is clear and the bits contain the last CPU number -
either a real CPU number or one of WORK_CPU_*.
Scheduled addition of mod_delayed_work[_on]() requires an additional
flag, which is used only while a work item is off queue. There are
more than enough bits to represent off-queue CPU number on both 32 and
64bits. This patch introduces WORK_OFFQ_FLAG_* which occupy the lower
part of the @work->data high bits while off queue. This patch doesn't
define any actual OFFQ flag yet.
Off-queue CPU number is now shifted by WORK_OFFQ_CPU_SHIFT, which adds
the number of bits used by OFFQ flags to WORK_STRUCT_FLAG_SHIFT, to
make room for OFFQ flags.
To avoid shift width warning with large WORK_OFFQ_FLAG_BITS, ulong
cast is added to WORK_STRUCT_NO_CPU and, just in case, BUILD_BUG_ON()
to check that there are enough bits to accomodate off-queue CPU number
is added.
This patch doesn't make any functional difference.
Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'fs/fuse/Makefile')
0 files changed, 0 insertions, 0 deletions