linux-btrace.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Christof Schmitt <christof.schmitt@de.ibm.com>
To: linux-btrace@vger.kernel.org
Subject: [patch 1/2] blkparse: Add PC requests to depth trace
Date: Mon, 07 Jan 2008 07:50:58 +0000	[thread overview]
Message-ID: <20080107075445.459210000@de.ibm.com> (raw)

From: Christof Schmitt <christof.schmitt@de.ibm.com>

The PC requests use the same queue and also contribute to the
queue length, so they should be added to the queue depth trace.

Signed-off-by: Christof Schmitt <christof.schmitt@de.ibm.com>

--- a/blkparse.c	2008-01-04 09:11:54.000000000 +0100
+++ b/blkparse.c	2008-01-04 11:30:36.000000000 +0100
@@ -1347,8 +1347,10 @@ static void log_pc(struct per_cpu_info *
 	process_fmt(act, pci, t, -1ULL, t->pdu_len, buf);
 }
 
-static void dump_trace_pc(struct blk_io_trace *t, struct per_cpu_info *pci)
+static void dump_trace_pc(struct blk_io_trace *t, struct per_dev_info *pdi,
+			  struct per_cpu_info *pci)
 {
+	int w = (t->action & BLK_TC_ACT(BLK_TC_WRITE)) != 0;
 	int act = t->action & 0xffff;
 
 	switch (act) {
@@ -1362,12 +1364,25 @@ static void dump_trace_pc(struct blk_io_
 			log_generic(pci, t, "S");
 			break;
 		case __BLK_TA_REQUEUE:
+			/*
+			 * can happen if we miss traces, don't let it go
+			 * below zero
+			 */
+			if (pdi->cur_depth[w])
+				pdi->cur_depth[w]--;
 			log_generic(pci, t, "R");
 			break;
 		case __BLK_TA_ISSUE:
+			pdi->cur_depth[w]++;
+			if (pdi->cur_depth[w] > pdi->max_depth[w])
+				pdi->max_depth[w] = pdi->cur_depth[w];
+
 			log_pc(pci, t, "D");
 			break;
 		case __BLK_TA_COMPLETE:
+			if (pdi->cur_depth[w])
+				pdi->cur_depth[w]--;
+
 			log_pc(pci, t, "C");
 			break;
 		case __BLK_TA_INSERT:
@@ -1463,7 +1478,7 @@ static void dump_trace(struct blk_io_tra
 {
 	if (text_output) {
 		if (t->action & BLK_TC_ACT(BLK_TC_PC))
-			dump_trace_pc(t, pci);
+			dump_trace_pc(t, pdi, pci);
 		else
 			dump_trace_fs(t, pdi, pci);
 	}

-- 

             reply	other threads:[~2008-01-07  7:50 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-01-07  7:50 Christof Schmitt [this message]
2008-01-14  7:40 ` [patch 1/2] blkparse: Add PC requests to depth trace Christof Schmitt
2008-02-29 11:59 ` Christof Schmitt

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=20080107075445.459210000@de.ibm.com \
    --to=christof.schmitt@de.ibm.com \
    --cc=linux-btrace@vger.kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).