Files
ack-tegra/include/linux
Tejun Heo b549007727 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>
2012-08-03 10:30:46 -07:00
..
2012-07-17 15:11:37 -04:00
2012-07-30 18:16:01 -07:00
2012-07-30 18:15:23 -07:00
2012-07-30 17:25:21 -07:00
2012-06-29 11:38:17 -04:00
2012-07-31 18:42:43 -07:00
2012-07-30 17:25:11 -07:00
2012-06-27 15:42:24 -07:00
2012-07-22 23:57:58 +04:00
2012-07-05 15:04:10 +02:00
2012-07-02 15:11:12 +02:00
2012-07-20 11:07:00 -07:00
2012-07-18 08:59:58 -07:00
2012-07-19 10:38:32 -04:00
2012-07-29 21:24:13 +04:00
2012-07-09 16:42:24 -04:00
2012-07-30 19:06:52 -04:00
2012-07-30 19:06:52 -04:00
2012-07-30 19:06:52 -04:00
2012-07-10 10:32:06 -05:00
2012-07-31 18:42:43 -07:00
2012-07-12 07:54:46 -07:00
2012-07-19 10:38:32 -04:00
2012-07-30 17:25:20 -07:00
2012-07-02 13:40:06 +03:00
2012-07-16 22:31:34 -07:00
2012-07-30 17:25:16 -07:00
2012-07-23 00:58:46 -07:00
2012-07-22 23:57:55 +04:00
2012-07-31 08:16:24 -06:00
2012-07-31 18:42:50 -07:00