Re: [PATCH v3 0/7] f2fs: add tracepoints support in f2fs filesystem

From: Jaegeuk Kim
Date: Tue Apr 09 2013 - 08:08:11 EST


2013-04-09 (í), 10:04 +0900, Namjae Jeon:
> 2013/4/9, Steven Rostedt <rostedt@xxxxxxxxxxx>:
> > On Sat, 2013-04-06 at 14:45 +0900, Namjae Jeon wrote:
> >> From: Namjae Jeon <namjae.jeon@xxxxxxxxxxx>
> >>
> >> Add tracepoints in f2fs filesystem for tracing the filesystem
> >> operations for information/debugging purpose if needed. All the
> >> tracepoints are clubbed with respect to functionalities.
> >>
> >> Change Log:
> >> v3: Introduced TRACE_EVENT_CONDITION() macro for checking the
> >> condition page->mapping inside the trace point function call as
> >> per Steve's review comment for the patch
> >>
> >> v2: Added DECLARE_EVENT_CLASS() macro for combining the similar
> >> type of trace function calls which has same type of arguments.
> >>
> >> v1: Introduced the tracepoint functions in f2fs filesystem.
> >>
> >> Namjae Jeon (7):
> >> f2fs: add tracepoints for sync & Inode operations
> >> f2fs: add tracepoints for truncate operation
> >> f2fs: add tracepoint for tracing the page i/o operations
> >> f2fs: add tracepoints for GC threads
> >> f2fs: add tracepoints to debug the block allocation & fallocate
> >> f2fs: add tracepoints for write page operations
> >> f2fs: add tracepoints to debug checkpoint request
> >>
> >
> Hi. Steve.
> > I have nothing more to add about the tracepoint processing. Looks good.
> > Now if the tracepoints give you sufficient data? That's up to the
> > maintainers to decide.
> Until now, yes. but I will continously try to update trace point more
> if finding additional needed points after.
> Thanks for review and your ack.

Thank you, Steve. :)

To Namjae,
I've reviewed the patch-set in terms of more informative tracepoints,
and summarized what I'd like to suggest.
Could you examine the following tracepoints?
I really appreciate your job.
Thanks,

*format*
tracepoint [its location] (information)

1. patch 1/7:

f2fs_sync_file_enter [enter]
(dev,ino,parent,i_mode,i_nlink,i_blocks,fi->i_advise,fi->i_pino,datasync)
f2fs_sync_file_exit [exit] (dev,ino,need_cp,ret)
f2fs_sync_fs [enter] (dev,sbi->s_dirty,wait)
f2fs_iget_enter [enter] (dev,ino)
f2fs_iget_exit [exit] (dev,ino,ret)
f2fs_evict_inode [enter] (dev,ino,i_nlink,i_blocks)
f2fs_unlink_enter [enter]
(dev,ino,i_blocks,dentry->d_name,parent->i_ino)
f2fs_unlink_exit [exit] (dev,ino,ret)

2. patch 2/7:
truncate_blocks_enter [enter] (dev,ino,from)
truncate_blocks_exit [exit] (dev,ino, err)
truncate_inode_blocks_enter [enter] (dev,ino,from)
truncate_inode_blocks_exit [exit] (dev,ino,err)
truncate_partial_nodes [exit] (dev,ino,nid[0],nid[1],nid[2],depth,err)
truncate_data_blocks_range [exit]
(dev,ino,dn->nid,dn->ofs_in_node,nr_free)
truncate_node [exit] (dev,ino,dn->nid,ni.blk_addr)

3. patch 3/7:
get_data_block_ro [all_exits]
(dev,ino,iblock,bh_result->b_blocknr,bh_result->b_size,err)
f2fs_readpage [enter] (dev,ino,index,blk_addr,type)

4. patch 4/7:
get_victim_by_default [exit]
(dev,gc_type,type,p.alloc_mode,p.gc_mode,p.ofs_unit,p.min_segno,sbi->cur_victim_sec)

5. patch 5/7:
f2fs_fallocate [exit] (dev,ino,offset,len,mode,i_blocks,i_size,ret)
f2fs_reserve_new_block [ext] (dev,ino,dn->nid,dn->ofs_in_node)

6. patch 6/7:
submit_write_page [exit] (dev,ino,index,blk_addr,type)
do_submit_bio [if(sbi->bio[btype]]
(dev,btype,sync,bio->bi_sector,bio->bi_size)
f2fs_write_begin [enter] (dev,ino,pos,len,flags)

7. patch 7/7:
write_checkpoint_before_blockop [before block_operations()]
(dev,is_mount,"try to block operations")
write_checkpoint_after_blockop [after block_operations()]
(dev,is_mount,"done block operations")
write_checkpoint_exit [exit] (dev,is_mount,"done checkpoint")

>
> >
> > Acked-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
> >
> > -- Steve
> >
> >
> >

--
Jaegeuk Kim
Samsung

Attachment: signature.asc
Description: This is a digitally signed message part