<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/include/trace/events/module.h, branch v3.1-rc1</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/include/trace/events/module.h?h=v3.1-rc1</id>
<link rel='self' href='https://git.amat.us/linux/atom/include/trace/events/module.h?h=v3.1-rc1'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2011-03-10T15:34:20Z</updated>
<entry>
<title>tracing: Fix event alignment: module:module_request</title>
<updated>2011-03-10T15:34:20Z</updated>
<author>
<name>David Sharp</name>
<email>dhsharp@google.com</email>
</author>
<published>2010-12-04T00:13:20Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b5e3008e489f5a00c6d5db914a4c4338c9ef5e8b'/>
<id>urn:sha1:b5e3008e489f5a00c6d5db914a4c4338c9ef5e8b</id>
<content type='text'>
Acked-by: Li Zefan &lt;lizf@cn.fujitsu.com&gt;
Signed-off-by: David Sharp &lt;dhsharp@google.com&gt;
LKML-Reference: &lt;1291421609-14665-7-git-send-email-dhsharp@google.com&gt;
Signed-off-by: Steven Rostedt &lt;rostedt@goodmis.org&gt;
</content>
</entry>
<entry>
<title>tracing: Only process module tracepoints once</title>
<updated>2011-01-14T16:25:58Z</updated>
<author>
<name>Steven Rostedt</name>
<email>srostedt@redhat.com</email>
</author>
<published>2011-01-14T16:25:58Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c94fbe1d9e1e9b1a1f82eb0b53b1cf53bcf9712b'/>
<id>urn:sha1:c94fbe1d9e1e9b1a1f82eb0b53b1cf53bcf9712b</id>
<content type='text'>
The commit:

 9f987b3141f086de27832514aad9f50a53f754
 tracing: Include module.h in define_trace.h

only solved half the problem. If the trace/events/module.h header is
included at the time of define_trace.h (or in ftrace.h within it),
the module.h TRACE_SYSTEM will override the current TRACE_SYSTEM
macro.

Since define_trace.h is included when CREATE_TRACE_POINTS is set,
and the first thing it does is to #undef CREATE_TRACE_POINTS,
by placing the module.h TRACE_SYSTEM inside a
 #ifdef CREATE_TRACE_POINTS
we can prevent it from overriding the TRACE_SYSTEM that is
being processed, and still process the module.h tracepoints
when the module code defines CREATE_TRACE_POINTS and includes
the trace/events/module.h header.

As with commit 9f987b3141, this is only an issue if module.h
is not included before the trace/events/&lt;event&gt;.h file is
included, which (luckily) has not happened yet.

Reported-by: Peter Zijlstra &lt;a.p.zijlstra@chello.nl&gt;
Signed-off-by: Steven Rostedt &lt;rostedt@goodmis.org&gt;
</content>
</entry>
<entry>
<title>Merge branch 'linus' into tracing/core</title>
<updated>2010-04-08T08:18:47Z</updated>
<author>
<name>Ingo Molnar</name>
<email>mingo@elte.hu</email>
</author>
<published>2010-04-08T07:06:12Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c1ab9cab75098924fa8226a8a371de66977439df'/>
<id>urn:sha1:c1ab9cab75098924fa8226a8a371de66977439df</id>
<content type='text'>
Conflicts:
	include/linux/module.h
	kernel/module.c

Semantic conflict:
	include/trace/events/module.h

Merge reason: Resolve the conflict with upstream commit 5fbfb18 ("Fix up
              possibly racy module refcounting")

Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>tracing: Fix compile error in module tracepoints when MODULE_UNLOAD not set</title>
<updated>2010-04-01T02:56:59Z</updated>
<author>
<name>Steven Rostedt</name>
<email>srostedt@redhat.com</email>
</author>
<published>2010-03-29T18:25:18Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=eb0c53771fb2f5f66b0edb3ebce33be4bbf1c285'/>
<id>urn:sha1:eb0c53771fb2f5f66b0edb3ebce33be4bbf1c285</id>
<content type='text'>
If modules are configured in the build but unloading of modules is not,
then the refcnt is not defined. Place the get/put module tracepoints
under CONFIG_MODULE_UNLOAD since it references this field in the module
structure.

As a side-effect, this patch also reduces the code when MODULE_UNLOAD
is not set, because these unused tracepoints are not created.

Signed-off-by: Steven Rostedt &lt;rostedt@goodmis.org&gt;
</content>
</entry>
<entry>
<title>tracing: Remove side effect from module tracepoints that caused a GPF</title>
<updated>2010-04-01T02:56:58Z</updated>
<author>
<name>Li Zefan</name>
<email>lizf@cn.fujitsu.com</email>
</author>
<published>2010-03-24T02:57:43Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=ae832d1e03ac9bf09fb8a07fb37908ab40c7cd0e'/>
<id>urn:sha1:ae832d1e03ac9bf09fb8a07fb37908ab40c7cd0e</id>
<content type='text'>
Remove the @refcnt argument, because it has side-effects, and arguments with
side-effects are not skipped by the jump over disabled instrumentation and are
executed even when the tracepoint is disabled.

This was also causing a GPF as found by Randy Dunlap:

Subject: 2.6.33 GP fault only when built with tracing
LKML-Reference: &lt;4BA2B69D.3000309@oracle.com&gt;

Note, the current 2.6.34-rc has a fix for the actual cause of the GPF,
but this fixes one of its triggers.

Tested-by: Randy Dunlap &lt;randy.dunlap@oracle.com&gt;
Acked-by: Mathieu Desnoyers &lt;mathieu.desnoyers@efficios.com&gt;
Signed-off-by: Li Zefan &lt;lizf@cn.fujitsu.com&gt;
LKML-Reference: &lt;4BA97FA7.6040406@cn.fujitsu.com&gt;
Signed-off-by: Steven Rostedt &lt;rostedt@goodmis.org&gt;
</content>
</entry>
<entry>
<title>tracing: Convert module refcnt events to DEFINE_EVENT</title>
<updated>2009-11-26T08:14:02Z</updated>
<author>
<name>Li Zefan</name>
<email>lizf@cn.fujitsu.com</email>
</author>
<published>2009-11-26T07:03:23Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=925684d6d589e40e41007edf47c69e729d911263'/>
<id>urn:sha1:925684d6d589e40e41007edf47c69e729d911263</id>
<content type='text'>
Use DECLARE_EVENT_CLASS to remove duplicate code:

   text    data     bss     dec     hex filename
  29854    1980     128   31962    7cda kernel/module.o.old
  28750    1980     128   30858    788a kernel/module.o

Two events are converted:

  module_refcnt: module_get, module_put

No change in functionality.

Signed-off-by: Li Zefan &lt;lizf@cn.fujitsu.com&gt;
Cc: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
Cc: Steven Rostedt &lt;rostedt@goodmis.org&gt;
Cc: Frederic Weisbecker &lt;fweisbec@gmail.com&gt;
LKML-Reference: &lt;4B0E283B.3010508@cn.fujitsu.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
<entry>
<title>tracing/events: Add module tracepoints</title>
<updated>2009-08-17T09:25:08Z</updated>
<author>
<name>Li Zefan</name>
<email>lizf@cn.fujitsu.com</email>
</author>
<published>2009-08-17T08:56:28Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=7ead8b8313d92b3a69a1a61b0dcbc4cd66c960dc'/>
<id>urn:sha1:7ead8b8313d92b3a69a1a61b0dcbc4cd66c960dc</id>
<content type='text'>
Add trace points to trace module_load, module_free, module_get,
module_put and module_request, and use trace_event facility to
get the trace output.

Here's the sample output:

     TASK-PID    CPU#    TIMESTAMP  FUNCTION
        | |       |          |         |
    &lt;...&gt;-42    [000]     1.758380: module_request: fb0 wait=1 call_site=fb_open
    ...
    &lt;...&gt;-60    [000]     3.269403: module_load: scsi_wait_scan
    &lt;...&gt;-60    [000]     3.269432: module_put: scsi_wait_scan call_site=sys_init_module refcnt=0
    &lt;...&gt;-61    [001]     3.273168: module_free: scsi_wait_scan
    ...
    &lt;...&gt;-1021  [000]    13.836081: module_load: sunrpc
    &lt;...&gt;-1021  [000]    13.840589: module_put: sunrpc call_site=sys_init_module refcnt=-1
    &lt;...&gt;-1027  [000]    13.848098: module_get: sunrpc call_site=try_module_get refcnt=0
    &lt;...&gt;-1027  [000]    13.848308: module_get: sunrpc call_site=get_filesystem refcnt=1
    &lt;...&gt;-1027  [000]    13.848692: module_put: sunrpc call_site=put_filesystem refcnt=0
    ...
 modprobe-2587  [001]  1088.437213: module_load: trace_events_sample F
 modprobe-2587  [001]  1088.437786: module_put: trace_events_sample call_site=sys_init_module refcnt=0

Note:

- the taints flag can be 'F', 'C' and/or 'P' if mod-&gt;taints != 0

- the module refcnt is percpu, so it can be negative in a
  specific cpu

Signed-off-by: Li Zefan &lt;lizf@cn.fujitsu.com&gt;
Acked-by: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
Cc: Steven Rostedt &lt;rostedt@goodmis.org&gt;
Cc: Frederic Weisbecker &lt;fweisbec@gmail.com&gt;
Cc: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
LKML-Reference: &lt;4A891B3C.5030608@cn.fujitsu.com&gt;
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
</content>
</entry>
</feed>
