Subject: Re: [PATCH] Blktrace : conversion to tracepoint define

From: Ingo Molnar <[email-masked]>
Date: Wed, 26 Nov 2008 12:22:08 +0100

* Mathieu Desnoyers <[email-masked]> wrote:

> Here is the conversion to the new tracepoint API, which applies to 
> -tip after the patch you just emailed.
> 
> Mathieu
> 
> 
> Blktrace : conversion to tracepoint define
> 
> Adapt declaration/definitions of blktrace tracepoints to the new 
> tracepoint API.
> 
> Signed-off-by: Mathieu Desnoyers <[email-masked]>
> CC: Arnaldo Carvalho de Melo <[email-masked]>
> CC: 'Ingo Molnar' <[email-masked]>
> CC: Jens Axboe <[email-masked]>
> CC: Arnaldo Carvalho de Melo <[email-masked]>
> CC: Stephen Rothwell <[email-masked]>
> ---
>  block/blk-core.c      |   13 +++++++++++++
>  block/elevator.c      |    3 +++
>  drivers/md/dm.c       |    2 ++
>  fs/bio.c              |    2 ++
>  include/trace/block.h |   34 +++++++++++++++++-----------------
>  mm/bounce.c           |    2 ++
>  6 files changed, 39 insertions(+), 17 deletions(-)
> 
> Index: linux.trees.git/mm/bounce.c
> ===================================================================
> --- linux.trees.git.orig/mm/bounce.c	2008-11-26 05:49:40.000000000 -0500
> +++ linux.trees.git/mm/bounce.c	2008-11-26 05:50:08.000000000 -0500
> @@ -22,6 +22,8 @@
>  
>  static mempool_t *page_pool, *isa_page_pool;
>  
> +DEFINE_TRACE(block_bio_bounce);
> +

>  #ifdef CONFIG_HIGHMEM
>  static __init int init_emergency_pool(void)
>  {
> Index: linux.trees.git/fs/bio.c
> ===================================================================
> --- linux.trees.git.orig/fs/bio.c	2008-11-26 05:49:40.000000000 -0500
> +++ linux.trees.git/fs/bio.c	2008-11-26 05:50:25.000000000 -0500
> @@ -29,6 +29,8 @@
>  #include <trace/block.h>
>  #include <scsi/sg.h>		/* for struct sg_iovec */
>  
> +DEFINE_TRACE(block_split);
> +
>  static struct kmem_cache *bio_slab __read_mostly;

heh, just did a similar patch :)

i moved the tracepoint definitions into a central place in 
block/blktrace.c, not spread out in the block files - because some of 
the tracepoints such as trace_block_remap() get used from multiple 
places so there's no real "home" file for them.

Moving the tracepoint definitions into blktrace.c consolidates it 
nicely without cluttering the various block/* files and ties their 
presence to CONFIG_BLK_DEV_IO_TRACE as well.

	Ingo