<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/include/trace/events/btrfs.h, branch linux-3.18.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.18.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.18.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2014-09-18T14:14:47Z</updated>
<entry>
<title>Btrfs: fix wrong parse of extent map's tracepoint</title>
<updated>2014-09-18T14:14:47Z</updated>
<author>
<name>Liu Bo</name>
</author>
<published>2014-09-17T13:36:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=254a2d14fa77ac8a1b64f6171ec5f717f0753b53'/>
<id>urn:sha1:254a2d14fa77ac8a1b64f6171ec5f717f0753b53</id>
<content type='text'>
The tracepoint of extent map doesn't parse @flag correctly, we set @flag via
set_bit(), so we need to parse it on a bit bias.

Also add the missing flag, EXTENT_FLAG_FS_MAPPING.

Signed-off-by: Liu Bo &lt;bo.li.liu@oracle.com&gt;
Signed-off-by: Chris Mason &lt;clm@fb.com&gt;
</content>
</entry>
<entry>
<title>Btrfs: show real function name in btrfs workqueue tracepoint</title>
<updated>2014-09-17T20:38:18Z</updated>
<author>
<name>Liu Bo</name>
</author>
<published>2014-08-15T15:38:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b7831b20f32019b741eb8fe3435c2516e13e0c4a'/>
<id>urn:sha1:b7831b20f32019b741eb8fe3435c2516e13e0c4a</id>
<content type='text'>
Use %pf instead of %p, just same as kernel workqueue tracepoints.

Signed-off-by: Liu Bo &lt;bo.li.liu@oracle.com&gt;
Reviewed-by: David Sterba &lt;dsterba@suse.cz&gt;
Signed-off-by: Chris Mason &lt;clm@fb.com&gt;
</content>
</entry>
<entry>
<title>Btrfs: cleanup for btrfs workqueue tracepoints</title>
<updated>2014-09-17T20:37:52Z</updated>
<author>
<name>Liu Bo</name>
</author>
<published>2014-08-12T08:33:18Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1a76e4ba5b18775e532faa4f8eb858c4553d196c'/>
<id>urn:sha1:1a76e4ba5b18775e532faa4f8eb858c4553d196c</id>
<content type='text'>
Tracepoint trace_btrfs_normal_work_done never has an user, just cleanup it.

Signed-off-by: Liu Bo &lt;bo.li.liu@oracle.com&gt;
Signed-off-by: Chris Mason &lt;clm@fb.com&gt;
</content>
</entry>
<entry>
<title>Btrfs: add work_struct information for workqueue tracepoint</title>
<updated>2014-09-17T20:37:51Z</updated>
<author>
<name>Liu Bo</name>
</author>
<published>2014-08-12T08:33:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b38a62586fed4ce058dc8d40deaa1b85cafc7fb3'/>
<id>urn:sha1:b38a62586fed4ce058dc8d40deaa1b85cafc7fb3</id>
<content type='text'>
Kernel workqueue's tracepoints print the address of work_struct, while btrfs
workqueue's tracepoints print the address of btrfs_work.

We need a connection between this two, for example when debuging, we usually
grep an address in the trace output.  So it'd be better to also print
work_struct in btrfs workqueue's tracepoint.

Please note that we can only add this into those tracepoints whose work is still
available in memory because we need to reference the work.

Signed-off-by: Liu Bo &lt;bo.li.liu@oracle.com&gt;
Signed-off-by: Chris Mason &lt;clm@fb.com&gt;
</content>
</entry>
<entry>
<title>btrfs: add trace for qgroup accounting</title>
<updated>2014-09-17T20:37:50Z</updated>
<author>
<name>Mark Fasheh</name>
</author>
<published>2014-07-17T19:39:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d3982100baeb9bed8cf931545fb0522268f526e5'/>
<id>urn:sha1:d3982100baeb9bed8cf931545fb0522268f526e5</id>
<content type='text'>
We want this to debug qgroup changes on live systems.

Signed-off-by: Mark Fasheh &lt;mfasheh@suse.de&gt;
Reviewed-by: Josef Bacik &lt;jbacik@fb.com&gt;
Signed-off-by: Chris Mason &lt;clm@fb.com&gt;
</content>
</entry>
<entry>
<title>btrfs: Add trace for btrfs_workqueue alloc/destroy</title>
<updated>2014-03-21T00:15:28Z</updated>
<author>
<name>Qu Wenruo</name>
</author>
<published>2014-03-12T08:05:33Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c3a468915a384c0015263edd9b7263775599a323'/>
<id>urn:sha1:c3a468915a384c0015263edd9b7263775599a323</id>
<content type='text'>
Since most of the btrfs_workqueue is printed as pointer address,
for easier analysis, add trace for btrfs_workqueue alloc/destroy.
So it is possible to determine the workqueue that a given work belongs
to(by comparing the wq pointer address with alloc trace event).

Signed-off-by: Qu Wenruo &lt;quenruo@cn.fujitsu.com&gt;
Signed-off-by: Chris Mason &lt;clm@fb.com&gt;
</content>
</entry>
<entry>
<title>btrfs: Add ftrace for btrfs_workqueue</title>
<updated>2014-03-10T19:17:21Z</updated>
<author>
<name>Qu Wenruo</name>
</author>
<published>2014-03-06T04:19:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=52483bc26f0e95c91e8fd07f9def588bf89664f8'/>
<id>urn:sha1:52483bc26f0e95c91e8fd07f9def588bf89664f8</id>
<content type='text'>
Add ftrace for btrfs_workqueue for further workqueue tunning.
This patch needs to applied after the workqueue replace patchset.

Signed-off-by: Qu Wenruo &lt;quwenruo@cn.fujitsu.com&gt;
Signed-off-by: Josef Bacik &lt;jbacik@fb.com&gt;
</content>
</entry>
<entry>
<title>Btrfs/tracepoint: update new flags for ordered extent TP</title>
<updated>2014-01-28T21:19:38Z</updated>
<author>
<name>Liu Bo</name>
</author>
<published>2013-11-06T04:04:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=792ddef04014d83cc5a8c4d1387c0417789b36fa'/>
<id>urn:sha1:792ddef04014d83cc5a8c4d1387c0417789b36fa</id>
<content type='text'>
Flag BTRFS_ORDERED_TRUNCATED is a new one, update the tracepoint to
support it.

Signed-off-by: Liu Bo &lt;bo.li.liu@oracle.com&gt;
Signed-off-by: Josef Bacik &lt;jbacik@fusionio.com&gt;
Signed-off-by: Chris Mason &lt;clm@fb.com&gt;
</content>
</entry>
<entry>
<title>Btrfs/tracepoint: fix to report right flags for ordered extent</title>
<updated>2014-01-28T21:19:38Z</updated>
<author>
<name>Liu Bo</name>
</author>
<published>2013-11-06T04:04:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9d04a8ceacddd52621df59b52f8ec28aa4042b16'/>
<id>urn:sha1:9d04a8ceacddd52621df59b52f8ec28aa4042b16</id>
<content type='text'>
We use set_bit() to assign ordered extent's flags, but in the related
tracepoint we don't do the same thing, which makes the trace output
not to parse flags correctly.

Also, since the flags are bits stuff, we change to use __print_flags with
a 'delim' instead of __print_symbolic.

Signed-off-by: Liu Bo &lt;bo.li.liu@oracle.com&gt;
Signed-off-by: Josef Bacik &lt;jbacik@fusionio.com&gt;
Signed-off-by: Chris Mason &lt;clm@fb.com&gt;
</content>
</entry>
<entry>
<title>btrfs: Use trace condition for get_extent tracepoint</title>
<updated>2013-11-21T01:44:47Z</updated>
<author>
<name>Steven Rostedt</name>
</author>
<published>2013-11-15T03:57:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4cd8587ce8fb79e49d1d6d1fc065f056188fb86a'/>
<id>urn:sha1:4cd8587ce8fb79e49d1d6d1fc065f056188fb86a</id>
<content type='text'>
Doing an if statement to test some condition to know if we should
trigger a tracepoint is pointless when tracing is disabled. This just
adds overhead and wastes a branch prediction. This is why the
TRACE_EVENT_CONDITION() was created. It places the check inside the jump
label so that the branch does not happen unless tracing is enabled.

That is, instead of doing:

	if (em)
		trace_btrfs_get_extent(root, em);

Which is basically this:

	if (em)
		if (static_key(trace_btrfs_get_extent)) {

Using a TRACE_EVENT_CONDITION() we can just do:

	trace_btrfs_get_extent(root, em);

And the condition trace event will do:

	if (static_key(trace_btrfs_get_extent)) {
		if (em) {
			...

The static key is a non conditional jump (or nop) that is faster than
having to check if em is NULL or not.

Signed-off-by: Steven Rostedt &lt;rostedt@goodmis.org&gt;
Signed-off-by: Josef Bacik &lt;jbacik@fusionio.com&gt;
Signed-off-by: Chris Mason &lt;chris.mason@fusionio.com&gt;
</content>
</entry>
</feed>
