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-08-01 16:41:07 -07:00
2012-07-30 18:16:01 -07:00
2012-07-30 18:15:23 -07:00
2012-07-31 18:08:25 -07:00
2012-07-24 23:55:03 -07:00
2012-07-27 16:49:22 -04:00
2012-07-30 12:41:17 -07:00
2012-07-24 13:56:26 -07:00
2012-07-24 17:12:54 -07:00
2012-07-31 01:02:51 +04:00
2012-07-31 18:08:25 -07:00
2012-07-31 18:08:25 -07:00
2012-05-22 13:54:18 +10:00
2012-07-26 12:59:53 -07:00
2012-07-31 19:25:39 -07:00
2012-07-26 10:23:47 -07:00
2012-07-30 11:54:53 -07:00
2012-07-30 17:25:21 -07:00
2012-07-29 21:43:08 +04:00
2012-07-31 18:42:40 -07:00
2012-07-31 18:42:47 -07:00
2012-07-31 09:08:15 +02:00
2012-08-01 12:24:18 +02:00
2010-03-03 11:25:58 +01:00
2011-01-13 08:03:17 -08:00
2012-07-31 18:42:43 -07:00
2012-07-30 17:25:11 -07:00
2012-07-31 18:42:42 -07:00
2012-07-30 17:25:21 -07:00
2008-06-04 14:56:12 +01:00
2012-07-26 14:28:55 -07:00
2012-07-27 09:29:42 +09:30
2012-07-24 13:53:22 +02:00
2011-11-23 18:49:22 +01:00
2012-07-27 15:08:16 +01:00
2012-07-26 11:25:33 -07:00
2012-07-27 15:08:16 +01:00
2012-07-30 12:25:47 +02:00
2012-07-30 12:25:46 +02:00
2012-05-01 08:58:06 -04:00
2011-12-11 18:25:16 -05:00
2012-07-22 23:57:58 +04:00
2012-07-30 09:32:39 -07:00
2011-05-26 17:12:33 -07:00
2009-12-17 10:58:17 -05:00
2012-08-01 10:26:23 -07:00
2012-07-24 00:01:30 -07:00
2012-08-01 09:02:41 -07:00
2012-07-31 18:42:46 -07:00
2012-07-31 18:42:47 -07:00
2012-07-31 18:42:41 -07:00
2012-07-31 18:42:50 -07:00
2012-07-30 19:03:41 -07:00
2012-07-26 13:08:01 -07:00
2012-07-27 09:29:42 +09:30
2011-01-31 21:17:41 -08:00
2012-07-23 12:17:00 +02:00
2012-07-22 12:19:36 -07:00
2012-07-30 19:03:41 -07:00
2012-07-30 17:25:14 -07:00
2012-07-21 13:58:17 -07:00
2012-07-30 15:08:46 +10:00
2012-07-24 12:01:20 -07:00
2012-07-24 07:52:34 +08:00
2012-07-25 15:58:48 -04:00
2012-07-23 13:54:52 +01:00
2012-07-23 13:54:52 +01:00
2011-11-04 17:22:14 -07:00
2012-07-31 18:42:48 -07:00
2012-07-31 18:42:40 -07:00
2012-07-31 18:42:45 -07:00
2012-08-01 10:26:23 -07:00
2012-07-31 18:42:46 -07:00
2012-03-26 12:50:52 +10:30
2006-11-30 04:40:22 +01:00
2012-07-29 21:24:13 +04:00
2012-07-22 12:44:01 -07:00
2012-07-30 19:06:52 -04:00
2012-07-31 19:25:39 -07:00
2012-07-30 19:06:52 -04:00
2012-07-30 19:06:52 -04:00
2012-07-30 17:25:19 -07:00
2012-07-31 20:44:03 -07:00
2012-07-31 23:27:30 -04:00
2012-07-31 12:06:20 +01:00
2012-07-31 18:42:45 -07:00
2012-07-31 18:42:43 -07:00
2012-07-31 18:42:45 -07:00
2012-07-31 18:42:45 -07:00
2012-07-31 18:42:47 -07:00
2008-10-13 10:10:37 -07:00
2011-12-13 15:07:49 +00:00
2012-07-22 16:07:45 -07:00
2012-07-26 14:18:18 -07:00
2012-07-23 12:17:00 +02:00
2012-08-01 10:26:23 -07:00
2012-07-26 13:36:43 -07:00
2006-10-03 23:01:26 +02:00
2011-01-13 08:03:21 -08:00
2012-07-30 17:25:14 -07:00
2012-04-04 05:28:45 -04:00
2012-07-23 13:23:52 +02:00
2012-07-22 23:58:19 +04:00
2012-07-22 23:58:19 +04:00
2006-07-13 13:21:35 -07:00
2012-07-30 12:25:44 +02:00
2012-07-31 18:42:45 -07:00
2012-07-26 13:37:02 -07:00
2012-08-01 13:48:52 +09:00
2012-07-30 17:25:20 -07:00
2012-07-31 18:42:43 -07:00
2012-07-31 18:42:46 -07:00
2008-05-26 16:15:32 +02:00
2011-06-14 22:48:51 -04:00
2012-07-30 17:25:16 -07:00
2009-04-10 15:48:52 +02:00
2012-07-31 18:42:47 -07:00
2012-07-22 23:57:56 +04:00
2012-07-23 00:58:46 -07:00
2012-07-31 18:08:25 -07:00
2012-07-26 13:36:43 -07:00
2010-10-22 14:46:25 +02:00
2011-04-26 14:01:42 -07:00
2012-07-22 23:57:55 +04:00
2012-07-22 23:57:56 +04:00
2012-07-31 08:16:24 -06:00
2012-07-30 20:23:11 -03:00
2012-07-30 13:30:52 +09:30
2012-07-30 13:30:49 +09:30
2012-07-31 18:42:46 -07:00
2012-07-30 12:25:45 +02:00
2012-07-31 18:42:50 -07:00
2012-08-03 10:30:46 -07:00
2012-07-31 18:42:40 -07:00