<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/include/trace/events/workqueue.h, branch v3.12.14</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/include/trace/events/workqueue.h?h=v3.12.14</id>
<link rel='self' href='https://git.amat.us/linux/atom/include/trace/events/workqueue.h?h=v3.12.14'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2013-02-14T03:29:12Z</updated>
<entry>
<title>workqueue: rename cpu_workqueue to pool_workqueue</title>
<updated>2013-02-14T03:29:12Z</updated>
<author>
<name>Tejun Heo</name>
<email>tj@kernel.org</email>
</author>
<published>2013-02-14T03:29:12Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=112202d9098aae2c36436e5178c0cf3ced423c7b'/>
<id>urn:sha1:112202d9098aae2c36436e5178c0cf3ced423c7b</id>
<content type='text'>
workqueue has moved away from global_cwqs to worker_pools and with the
scheduled custom worker pools, wforkqueues will be associated with
pools which don't have anything to do with CPUs.  The workqueue code
went through significant amount of changes recently and mass renaming
isn't likely to hurt much additionally.  Let's replace 'cpu' with
'pool' so that it reflects the current design.

* s/struct cpu_workqueue_struct/struct pool_workqueue/
* s/cpu_wq/pool_wq/
* s/cwq/pwq/

This patch is purely cosmetic.

Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;
</content>
</entry>
<entry>
<title>workqueue: move global_cwq-&gt;cpu to worker_pool</title>
<updated>2013-01-24T19:01:33Z</updated>
<author>
<name>Tejun Heo</name>
<email>tj@kernel.org</email>
</author>
<published>2013-01-24T19:01:33Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ec22ca5eab0bd225588c69ccd06b16504cb05adf'/>
<id>urn:sha1:ec22ca5eab0bd225588c69ccd06b16504cb05adf</id>
<content type='text'>
Move gcwq-&gt;cpu to pool-&gt;cpu.  This introduces a couple places where
gcwq-&gt;pools[0].cpu is used.  These will soon go away as gcwq is
further reduced.

This is part of an effort to remove global_cwq and make worker_pool
the top level abstraction, which in turn will help implementing worker
pools with user-specified attributes.

Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;
Reviewed-by: Lai Jiangshan &lt;laijs@cn.fujitsu.com&gt;
</content>
</entry>
<entry>
<title>workqueue: factor out worker_pool from global_cwq</title>
<updated>2012-07-12T21:46:37Z</updated>
<author>
<name>Tejun Heo</name>
<email>tj@kernel.org</email>
</author>
<published>2012-07-12T21:46:37Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=bd7bdd43dcb81bb08240b9401b36a104f77dc135'/>
<id>urn:sha1:bd7bdd43dcb81bb08240b9401b36a104f77dc135</id>
<content type='text'>
Move worklist and all worker management fields from global_cwq into
the new struct worker_pool.  worker_pool points back to the containing
gcwq.  worker and cpu_workqueue_struct are updated to point to
worker_pool instead of gcwq too.

This change is mechanical and doesn't introduce any functional
difference other than rearranging of fields and an added level of
indirection in some places.  This is to prepare for multiple pools per
gcwq.

v2: Comment typo fixes as suggested by Namhyung.

Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;
Cc: Namhyung Kim &lt;namhyung@kernel.org&gt;
</content>
</entry>
<entry>
<title>workqueue: Fix workqueue_execute_end() comment</title>
<updated>2012-04-10T08:49:47Z</updated>
<author>
<name>Stephen Boyd</name>
<email>sboyd@codeaurora.org</email>
</author>
<published>2012-04-09T17:44:57Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b3aa1584e9f3449b0669ab2beb9b9bf99874e1d6'/>
<id>urn:sha1:b3aa1584e9f3449b0669ab2beb9b9bf99874e1d6</id>
<content type='text'>
workqueue_execute_end() is called after the callback function,
not before.

Signed-off-by: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
Acked-by: Tejun Heo &lt;tj@kernel.org&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
</entry>
<entry>
<title>workqueue: add queue_work and activate_work trace points</title>
<updated>2010-10-05T08:49:55Z</updated>
<author>
<name>Tejun Heo</name>
<email>tj@kernel.org</email>
</author>
<published>2010-10-05T08:49:55Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=cdadf0097cdca06c497ffaeb5982e028c6e4ed38'/>
<id>urn:sha1:cdadf0097cdca06c497ffaeb5982e028c6e4ed38</id>
<content type='text'>
These two tracepoints allow tracking when and how a work is queued and
activated.  This patch is based on Frederic's patch to add queue_work
trace point.

Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;
Cc: Frederic Weisbecker &lt;fweisbec@gmail.com&gt;
</content>
</entry>
<entry>
<title>workqueue: prepare for more tracepoints</title>
<updated>2010-10-05T08:41:14Z</updated>
<author>
<name>Tejun Heo</name>
<email>tj@kernel.org</email>
</author>
<published>2010-10-05T08:41:14Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=97bd234701b2b39a0e749c1fe0e44f1d14c94292'/>
<id>urn:sha1:97bd234701b2b39a0e749c1fe0e44f1d14c94292</id>
<content type='text'>
Define workqueue_work event class and use it for workqueue_execute_end
trace point.  Also, move trace/events/workqueue.h include downwards
such that all struct definitions are visible to it.  This is to
prepare for more tracepoints and doesn't cause any functional change.

Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;
Cc: Frederic Weisbecker &lt;fweisbec@gmail.com&gt;
</content>
</entry>
<entry>
<title>workqueue: Add basic tracepoints to track workqueue execution</title>
<updated>2010-08-21T20:19:37Z</updated>
<author>
<name>Arjan van de Ven</name>
<email>arjan@linux.intel.com</email>
</author>
<published>2010-08-21T20:07:26Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e36c886a0f9d624377977fa6cae309cfd7f362fa'/>
<id>urn:sha1:e36c886a0f9d624377977fa6cae309cfd7f362fa</id>
<content type='text'>
With the introduction of the new unified work queue thread pools,
we lost one feature: It's no longer possible to know which worker
is causing the CPU to wake out of idle. The result is that PowerTOP
now reports a lot of "kworker/a:b" instead of more readable results.

This patch adds a pair of tracepoints to the new workqueue code,
similar in style to the timer/hrtimer tracepoints.

With this pair of tracepoints, the next PowerTOP can correctly
report which work item caused the wakeup (and how long it took):

Interrupt (43)            i915      time   3.51ms    wakeups 141
Work      ieee80211_iface_work      time   0.81ms    wakeups  29
Work              do_dbs_timer      time   0.55ms    wakeups  24
Process                   Xorg      time  21.36ms    wakeups   4
Timer    sched_rt_period_timer      time   0.01ms    wakeups   1

Signed-off-by: Arjan van de Ven &lt;arjan@linux.intel.com&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>workqueue: temporarily remove workqueue tracing</title>
<updated>2010-06-29T08:07:11Z</updated>
<author>
<name>Tejun Heo</name>
<email>tj@kernel.org</email>
</author>
<published>2010-06-29T08:07:11Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=64166699752006f1a23a9cf7c96ae36654ccfc2c'/>
<id>urn:sha1:64166699752006f1a23a9cf7c96ae36654ccfc2c</id>
<content type='text'>
Strip tracing code from workqueue and remove workqueue tracing.  This
is temporary measure till concurrency managed workqueue is complete.

Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;
Cc: Frederic Weisbecker &lt;fweisbec@gmail.com&gt;
</content>
</entry>
<entry>
<title>tracing: Convert some workqueue events to DEFINE_EVENT</title>
<updated>2009-11-26T08:14:03Z</updated>
<author>
<name>Li Zefan</name>
<email>lizf@cn.fujitsu.com</email>
</author>
<published>2009-11-26T07:05:03Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=382ece710bf88b08440b598731361e5a47582b62'/>
<id>urn:sha1:382ece710bf88b08440b598731361e5a47582b62</id>
<content type='text'>
Use DECLARE_EVENT_CLASS to remove duplicate code:

   text    data     bss     dec     hex filename
  13171     800      72   14043    36db kernel/workqueue.o.old
  12243     800      68   13111    3337 kernel/workqueue.o

Two events are converted:

  workqueue: workqueue_insertion, workqueue_execution

No change in functionality.

Signed-off-by: Li Zefan &lt;lizf@cn.fujitsu.com&gt;
Cc: Steven Rostedt &lt;rostedt@goodmis.org&gt;
Cc: Frederic Weisbecker &lt;fweisbec@gmail.com&gt;
LKML-Reference: &lt;4B0E289F.5010104@cn.fujitsu.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>tracing/workqueue: Use %pf in workqueue trace events</title>
<updated>2009-09-22T21:14:58Z</updated>
<author>
<name>Anton Blanchard</name>
<email>anton@samba.org</email>
</author>
<published>2009-09-22T02:40:33Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=9961079348d43dddb1f21118c17f054f63bbaa05'/>
<id>urn:sha1:9961079348d43dddb1f21118c17f054f63bbaa05</id>
<content type='text'>
Using %pf instead of %pF supresses printing of the function offset
which will always be 0 in the case of worklet functions.

Signed-off-by: Anton Blanchard &lt;anton@samba.org&gt;
Cc: KOSAKI Motohiro &lt;kosaki.motohiro@jp.fujitsu.com&gt;
Cc: Li Zefan &lt;lizf@cn.fujitsu.com&gt;
Cc: Zhaolei &lt;zhaolei@cn.fujitsu.com&gt;
Cc: Lai Jiangshan &lt;laijs@cn.fujitsu.com&gt;
Cc: Ingo Molnar &lt;mingo@elte.hu&gt;
Cc: Steven Rostedt &lt;rostedt@goodmis.org&gt;
LKML-Reference: &lt;20090922024033.GB31801@kryten&gt;
Signed-off-by: Frederic Weisbecker &lt;fweisbec@gmail.com&gt;
</content>
</entry>
</feed>
