<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/include/trace/events/ext4.h, branch linux-3.0.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.</subtitle>
<id>https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-3.0.y</id>
<link rel='self' href='https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-3.0.y'/>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/'/>
<updated>2011-06-06T13:51:52Z</updated>
<entry>
<title>ext4: fixed tracepoints cleanup</title>
<updated>2011-06-06T13:51:52Z</updated>
<author>
<name>Lukas Czerner</name>
<email>lczerner@redhat.com</email>
</author>
<published>2011-06-06T13:51:52Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=a9c667f8f0656631ee5438baaf21bf30d5f67375'/>
<id>urn:sha1:a9c667f8f0656631ee5438baaf21bf30d5f67375</id>
<content type='text'>
While creating fixed tracepoints for ext3, basically by porting them
from ext4, I found a lot of useless retyping, wrong type usage, useless
variable passing and other inconsistencies in the ext4 fixed tracepoint
code.

This patch cleans the fixed tracepoint code for ext4 and also simplify
some of them.

Signed-off-by: Lukas Czerner &lt;lczerner@redhat.com&gt;
Signed-off-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;
</content>
</entry>
<entry>
<title>ext4: add more tracepoints and use dev_t in the trace buffer</title>
<updated>2011-03-22T01:38:05Z</updated>
<author>
<name>Jiaying Zhang</name>
<email>jiayingz@google.com</email>
</author>
<published>2011-03-22T01:38:05Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=0562e0bad483d10e9651fbb8f21dc3d0bad57374'/>
<id>urn:sha1:0562e0bad483d10e9651fbb8f21dc3d0bad57374</id>
<content type='text'>
- Add more ext4 tracepoints.
- Change ext4 tracepoints to use dev_t field with MAJOR/MINOR macros
so that we can save 4 bytes in the ring buffer on some platforms.
- Add sync_mode to ext4_da_writepages, ext4_da_write_pages, and
ext4_da_writepages_result tracepoints. Also remove for_reclaim
field from ext4_da_writepages since it is usually not very useful.

Signed-off-by: Jiaying Zhang &lt;jiayingz@google.com&gt;
Signed-off-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;
</content>
</entry>
<entry>
<title>ext4: Add new ext4 inode tracepoints</title>
<updated>2010-11-08T18:51:33Z</updated>
<author>
<name>Theodore Ts'o</name>
<email>tytso@mit.edu</email>
</author>
<published>2010-11-08T18:51:33Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=7ff9c073dd4d7200399076554f7ab9b876f196f6'/>
<id>urn:sha1:7ff9c073dd4d7200399076554f7ab9b876f196f6</id>
<content type='text'>
Add ext4_evict_inode, ext4_drop_inode, ext4_mark_inode_dirty, and
ext4_begin_ordered_truncate()

Signed-off-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;
</content>
</entry>
<entry>
<title>Merge branch 'next' into upstream-merge</title>
<updated>2010-10-28T03:44:47Z</updated>
<author>
<name>Theodore Ts'o</name>
<email>tytso@mit.edu</email>
</author>
<published>2010-10-28T03:44:47Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=a107e5a3a473a2ea62bd5af24e11b84adf1486ff'/>
<id>urn:sha1:a107e5a3a473a2ea62bd5af24e11b84adf1486ff</id>
<content type='text'>
Conflicts:
	fs/ext4/inode.c
	fs/ext4/mballoc.c
	include/trace/events/ext4.h
</content>
</entry>
<entry>
<title>ext4,jbd2: convert tracepoints to use major/minor numbers</title>
<updated>2010-10-28T02:08:50Z</updated>
<author>
<name>Theodore Ts'o</name>
<email>tytso@mit.edu</email>
</author>
<published>2010-10-28T02:08:50Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=a269029d0e2192046be4c07ed78a45022469ee4c'/>
<id>urn:sha1:a269029d0e2192046be4c07ed78a45022469ee4c</id>
<content type='text'>
Unfortunately perf can't deal with anything other than direct structure
accesses in the TP_printk() section.  It will drop dead when it sees
jbd2_dev_to_name() in the "print fmt" section of the tracepoint.

Addresses-Google-Bug: 3138508

Signed-off-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;
</content>
</entry>
<entry>
<title>ext4: don't use ext4_allocation_contexts for tracing</title>
<updated>2010-10-28T01:30:07Z</updated>
<author>
<name>Eric Sandeen</name>
<email>sandeen@redhat.com</email>
</author>
<published>2010-10-28T01:30:07Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=3e1e5f501632460184a98237d5460c521510535e'/>
<id>urn:sha1:3e1e5f501632460184a98237d5460c521510535e</id>
<content type='text'>
Many tracepoints were populating an ext4_allocation_context
to pass in, but this requires a slab allocation even when
tracepoints are off.  In fact, 4 of 5 of these allocations
were only for tracing.  In addition, we were only using a
small fraction of the 144 bytes of this structure for this
purpose.

We can do away with all these alloc/frees of the ac and
simply pass in the bits we care about, instead.

I tested this by turning on tracing and running through
xfstests on x86_64.  I did not actually do anything with
the trace output, however.

Signed-off-by: Eric Sandeen &lt;sandeen@redhat.com&gt;
Signed-off-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;
</content>
</entry>
<entry>
<title>ext4: fix oops in trace_ext4_mb_release_group_pa</title>
<updated>2010-10-28T01:30:07Z</updated>
<author>
<name>Eric Sandeen</name>
<email>sandeen@redhat.com</email>
</author>
<published>2010-10-28T01:30:07Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=4d5476164a052e80d4ef430e368e76dbde96801f'/>
<id>urn:sha1:4d5476164a052e80d4ef430e368e76dbde96801f</id>
<content type='text'>
Our QA reported an oops in the ext4_mb_release_group_pa tracing,
and Josef Bacik pointed out that it was because we may have a
non-null but uninitialized ac_inode in the allocation context.

I can reproduce it when running xfstests with ext4 tracepoints on, 
on a CONFIG_SLAB_DEBUG kernel.

We call trace_ext4_mb_release_group_pa from 2 places, 
ext4_mb_discard_group_preallocations and 
ext4_mb_discard_lg_preallocations

In both cases we allocate an ac as a container just for tracing (!)
and never fill in the ac_inode.  There's no reason to be assigning,
testing, or printing it as far as I can see, so just remove it from
the tracepoint.

Signed-off-by: Eric Sandeen &lt;sandeen@redhat.com&gt;
Reviewed-by: Josef Bacik &lt;josef@redhat.com&gt;
Signed-off-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;
</content>
</entry>
<entry>
<title>ext4: avoid null dereference in trace_ext4_mballoc_discard</title>
<updated>2010-10-28T01:27:12Z</updated>
<author>
<name>Wen Congyang</name>
<email>wency@cn.fujitsu.com</email>
</author>
<published>2010-10-28T01:27:12Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=b853fd364810a241050778124842a8c415c72a69'/>
<id>urn:sha1:b853fd364810a241050778124842a8c415c72a69</id>
<content type='text'>
ac-&gt;inode is set to null in function ext4_mb_release_group_pa(),
and then trace_ext4_mballoc_discard(ac) is called, the kernel
will panic.

BUG: unable to handle kernel NULL pointer dereference at 000000a4
IP: [&lt;f87e1714&gt;] ftrace_raw_event_ext4__mballoc+0x54/0xc0 [ext4]
*pdpt = 0000000000abd001 *pde = 0000000000000000
Oops: 0000 [#1] SMP

Pid: 550, comm: flush-8:16 Not tainted 2.6.36-rc1 #1 SE7320EP2/Altos G530
EIP: 0060:[&lt;f87e1714&gt;] EFLAGS: 00010206 CPU: 1
EIP is at ftrace_raw_event_ext4__mballoc+0x54/0xc0 [ext4]
EAX: f32ac840 EBX: f3f1cf88 ECX: f32ac840 EDX: 00000000
ESI: f32ac83c EDI: f880b9d8 EBP: 00000000 ESP: f4b77ae4
 DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
Process flush-8:16 (pid: 550, ti=f4b76000 task=f613e540 task.ti=f4b76000)
Call Trace:
 [&lt;f87f5ac1&gt;] ? ext4_mb_release_group_pa+0x121/0x150 [ext4]
 [&lt;f87f8356&gt;] ? ext4_mb_discard_group_preallocations+0x336/0x400 [ext4]
 [&lt;f87fb7f1&gt;] ? ext4_mb_new_blocks+0x3d1/0x4f0 [ext4]
 [&lt;c05a6c5b&gt;] ? __make_request+0x10b/0x440
 [&lt;f87f1fb4&gt;] ? ext4_ext_map_blocks+0x1334/0x1980 [ext4]
 [&lt;c04ac78a&gt;] ? rb_reserve_next_event+0xaa/0x3b0
 [&lt;f87d18d6&gt;] ? ext4_map_blocks+0xd6/0x1d0 [ext4]
 [&lt;f87d2da7&gt;] ? mpage_da_map_blocks+0xc7/0x8a0 [ext4]
 [&lt;c04c8a68&gt;] ? find_get_pages_tag+0x38/0x110
 [&lt;c04d23a5&gt;] ? __pagevec_release+0x15/0x20
 [&lt;f87d3ca5&gt;] ? ext4_da_writepages+0x2b5/0x5d0 [ext4]
 [&lt;c04cfbe0&gt;] ? __writepage+0x0/0x30
 [&lt;c04d0e34&gt;] ? do_writepages+0x14/0x30
 [&lt;c0526600&gt;] ? writeback_single_inode+0xa0/0x240
 [&lt;c0526971&gt;] ? writeback_sb_inodes+0xc1/0x180
 [&lt;c0526ab8&gt;] ? writeback_inodes_wb+0x88/0x140
 [&lt;c0526d7b&gt;] ? wb_writeback+0x20b/0x320
 [&lt;c045aca7&gt;] ? lock_timer_base+0x27/0x50
 [&lt;c0526fe0&gt;] ? wb_do_writeback+0x150/0x190
 [&lt;c05270a8&gt;] ? bdi_writeback_thread+0x88/0x1f0
 [&lt;c043b680&gt;] ? complete+0x40/0x60
 [&lt;c0527020&gt;] ? bdi_writeback_thread+0x0/0x1f0
 [&lt;c0469474&gt;] ? kthread+0x74/0x80
 [&lt;c0469400&gt;] ? kthread+0x0/0x80
 [&lt;c040a23e&gt;] ? kernel_thread_helper+0x6/0x10

Signed-off-by: Wen Congyang &lt;wency@cn.fujitsu.com&gt;
Acked-by: Steven Rostedt &lt;rostedt@goodmis.org&gt;
Signed-off-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;
</content>
</entry>
<entry>
<title>writeback: remove nonblocking/encountered_congestion references</title>
<updated>2010-10-26T23:52:05Z</updated>
<author>
<name>Wu Fengguang</name>
<email>fengguang.wu@intel.com</email>
</author>
<published>2010-10-26T21:21:26Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=1b430beee5e388605dfb092b214ef0320f752cf6'/>
<id>urn:sha1:1b430beee5e388605dfb092b214ef0320f752cf6</id>
<content type='text'>
This removes more dead code that was somehow missed by commit 0d99519efef
(writeback: remove unused nonblocking and congestion checks).  There are
no behavior change except for the removal of two entries from one of the
ext4 tracing interface.

The nonblocking checks in -&gt;writepages are no longer used because the
flusher now prefer to block on get_request_wait() than to skip inodes on
IO congestion.  The latter will lead to more seeky IO.

The nonblocking checks in -&gt;writepage are no longer used because it's
redundant with the WB_SYNC_NONE check.

We no long set -&gt;nonblocking in VM page out and page migration, because
a) it's effectively redundant with WB_SYNC_NONE in current code
b) it's old semantic of "Don't get stuck on request queues" is mis-behavior:
   that would skip some dirty inodes on congestion and page out others, which
   is unfair in terms of LRU age.

Inspired by Christoph Hellwig. Thanks!

Signed-off-by: Wu Fengguang &lt;fengguang.wu@intel.com&gt;
Cc: Theodore Ts'o &lt;tytso@mit.edu&gt;
Cc: David Howells &lt;dhowells@redhat.com&gt;
Cc: Sage Weil &lt;sage@newdream.net&gt;
Cc: Steve French &lt;sfrench@samba.org&gt;
Cc: Chris Mason &lt;chris.mason@oracle.com&gt;
Cc: Jens Axboe &lt;axboe@kernel.dk&gt;
Cc: Christoph Hellwig &lt;hch@infradead.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>ext4: fix potential NULL dereference while tracing</title>
<updated>2010-07-27T15:56:04Z</updated>
<author>
<name>Theodore Ts'o</name>
<email>tytso@mit.edu</email>
</author>
<published>2010-07-27T15:56:04Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=e5880d76aea443b04e07da19830da0f6f7494eef'/>
<id>urn:sha1:e5880d76aea443b04e07da19830da0f6f7494eef</id>
<content type='text'>
The allocation_context pointer can be NULL.

Signed-off-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;
</content>
</entry>
</feed>
