All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
To: Jeff Moyer <jmoyer@redhat.com>
Cc: LKML <linux-kernel@vger.kernel.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Frederic Weisbecker <fweisbec@gmail.com>,
	Ingo Molnar <mingo@elte.hu>, Thomas Gleixner <tglx@linutronix.de>,
	Jens Axboe <jens.axboe@oracle.com>,
	Li Zefan <lizf@cn.fujitsu.com>,
	Alan.Brunelle@hp.com
Subject: Re: [RFC patch 1/5] trace event block fix unassigned field
Date: Wed, 5 Jan 2011 14:34:25 -0500	[thread overview]
Message-ID: <20110105193425.GA9510@Krystal> (raw)
In-Reply-To: <x498vyzqten.fsf@segfault.boston.devel.redhat.com>

* Jeff Moyer (jmoyer@redhat.com) wrote:
> Mathieu Desnoyers <mathieu.desnoyers@efficios.com> writes:
> 
> > The "error" field in block_bio_complete is not assigned, leaving the memory area
> > uninitialized (keeping garbage data). Initialize it to 0.
> >
> > We should eventually remove this field when we find out if blktrace can live
> > without it.
> 
> Well, I'm fairly sure blkparse has the ability to print this field out,
> so we should probably just fill it in properly.  Something like the
> following untested patch should do.

I updated your patch slightly (documentation and build fix). It should be fine
now. Thanks!

Mathieu


trace event block fix unassigned field

The "error" field in block_bio_complete is not assigned, leaving the memory area
uninitialized (keeping garbage data). Pass an additional tracepoint argument to
this event to initialize this field.

From: Jeff Moyer <jmoyer@redhat.com>
Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
CC: Steven Rostedt <rostedt@goodmis.org>
CC: Frederic Weisbecker <fweisbec@gmail.com>
CC: Ingo Molnar <mingo@elte.hu>
CC: Thomas Gleixner <tglx@linutronix.de>
CC: Jens Axboe <jens.axboe@oracle.com>
CC: Li Zefan <lizf@cn.fujitsu.com>
CC: Alan.Brunelle@hp.com
---
 drivers/md/dm.c              |    2 +-
 include/trace/events/block.h |    6 ++++--
 2 files changed, 5 insertions(+), 3 deletions(-)

Index: linux-2.6-lttng/include/trace/events/block.h
===================================================================
--- linux-2.6-lttng.orig/include/trace/events/block.h
+++ linux-2.6-lttng/include/trace/events/block.h
@@ -206,15 +206,16 @@ TRACE_EVENT(block_bio_bounce,
  * block_bio_complete - completed all work on the block operation
  * @q: queue holding the block operation
  * @bio: block operation completed
+ * @error: io error value
  *
  * This tracepoint indicates there is no further work to do on this
  * block IO operation @bio.
  */
 TRACE_EVENT(block_bio_complete,
 
-	TP_PROTO(struct request_queue *q, struct bio *bio),
+	TP_PROTO(struct request_queue *q, struct bio *bio, int error),
 
-	TP_ARGS(q, bio),
+	TP_ARGS(q, bio, error),
 
 	TP_STRUCT__entry(
 		__field( dev_t,		dev		)
@@ -228,6 +229,7 @@ TRACE_EVENT(block_bio_complete,
 		__entry->dev		= bio->bi_bdev->bd_dev;
 		__entry->sector		= bio->bi_sector;
 		__entry->nr_sector	= bio->bi_size >> 9;
+		__entry->error		= error;
 		blk_fill_rwbs(__entry->rwbs, bio->bi_rw, bio->bi_size);
 	),
 
Index: linux-2.6-lttng/drivers/md/dm.c
===================================================================
--- linux-2.6-lttng.orig/drivers/md/dm.c
+++ linux-2.6-lttng/drivers/md/dm.c
@@ -659,7 +659,7 @@ static void dec_pending(struct dm_io *io
 			free_io(md, io);
 
 			if (io_error != DM_ENDIO_REQUEUE) {
-				trace_block_bio_complete(md->queue, bio);
+				trace_block_bio_complete(md->queue, bio, io_error);
 
 				bio_endio(bio, io_error);
 			}


-- 
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com

  reply	other threads:[~2011-01-05 19:34 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-01-04 23:16 [RFC patch 0/5] Trace event fixes and cleanups Mathieu Desnoyers
2011-01-04 23:16 ` [RFC patch 1/5] trace event block fix unassigned field Mathieu Desnoyers
2011-01-05 15:09   ` Jeff Moyer
2011-01-05 19:34     ` Mathieu Desnoyers [this message]
2011-01-05 19:57       ` Jeff Moyer
2011-01-04 23:16 ` [RFC patch 2/5] trace event skb " Mathieu Desnoyers
2011-01-04 23:16 ` [RFC patch 3/5] ftrace trace event add missing semicolumn Mathieu Desnoyers
2011-01-05  0:00   ` Frederic Weisbecker
2011-01-05  0:18     ` Mathieu Desnoyers
2011-01-05  2:08       ` Frederic Weisbecker
2011-01-05  2:35         ` Mathieu Desnoyers
2011-01-05  2:58           ` Frederic Weisbecker
2011-01-05 13:52             ` Mathieu Desnoyers
2011-01-05 15:02               ` Frederic Weisbecker
2011-01-05 19:56                 ` Mathieu Desnoyers
2011-01-05 23:40                   ` Frederic Weisbecker
2011-01-05 23:57                     ` Steven Rostedt
2011-01-06 18:08                     ` Mathieu Desnoyers
2011-01-05  3:01         ` Valdis.Kletnieks
2011-01-05  3:10           ` Frederic Weisbecker
2011-01-05  6:37             ` Valdis.Kletnieks
2011-01-05 13:56               ` Mathieu Desnoyers
2011-01-04 23:16 ` [RFC patch 4/5] tracepoint trace event add missing comma Mathieu Desnoyers
2011-01-04 23:16 ` [RFC patch 5/5] trace event sched: remove TP_perf_assign Mathieu Desnoyers
2011-01-05  9:58   ` Peter Zijlstra
2011-01-05 13:28     ` Mathieu Desnoyers

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20110105193425.GA9510@Krystal \
    --to=mathieu.desnoyers@efficios.com \
    --cc=Alan.Brunelle@hp.com \
    --cc=fweisbec@gmail.com \
    --cc=jens.axboe@oracle.com \
    --cc=jmoyer@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lizf@cn.fujitsu.com \
    --cc=mingo@elte.hu \
    --cc=rostedt@goodmis.org \
    --cc=tglx@linutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.