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

From: Namjae Jeon
Date: Tue Apr 09 2013 - 09:08:01 EST


2013/4/9 Jaegeuk Kim <jaegeuk.kim@xxxxxxxxxxx>:
> 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?
Sure, I'll check it with coffee in tomorrow morning.
Thanks :)
> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/