summaryrefslogtreecommitdiff
path: root/btt/trace_queue.c
diff options
context:
space:
mode:
authorAlan D. Brunelle <Alan.Brunelle@hp.com>2007-11-13 17:16:38 -0500
committerAlan D. Brunelle <Alan.Brunelle@hp.com>2007-11-13 17:16:38 -0500
commit50f7389936188591eda0f114ab682520e6fe90c9 (patch)
tree9c00fc7bffbc839e3b15a20ba0ec07568fa5ba6d /btt/trace_queue.c
parent77f256cda4b2f076f5169fdf1bc815f629eea361 (diff)
downloadblktrace-50f7389936188591eda0f114ab682520e6fe90c9.tar.gz
blktrace-50f7389936188591eda0f114ab682520e6fe90c9.tar.bz2
Added active requests at Q information.
An important consideration when analyzing block IO schedulers is to know how many requests the scheduler has to work with. The metric provided in this section details how many requests (on average) were being held by the IO scheduler when an incoming IO request was being handled. To determine this, btt keeps track of how many Q requests came in, and subtacts requests that have been issued (D). Sample: ==================== Active Requests At Q Information ==================== DEV | Avg Reqs @ Q ---------- | ------------- ( 65, 80) | 12.0 ( 65,240) | 16.9 ( 65,112) | 13.3 ( 66, 64) | 32.8 ( 66, 80) | 21.5 ( 65, 96) | 8.6 ( 66, 16) | 16.2 ( 65, 64) | 20.4 ( 66, 96) | 18.3 ( 65,176) | 17.4 ( 66, 32) | 13.6 ( 65,144) | 13.4 ( 66, 0) | 21.4 ( 65,192) | 19.4 ( 66,128) | 18.4 ( 66,144) | 16.2 ( 65,128) | 8.0 ( 66,112) | 44.2 ---------- | ------------- Overall | Avgs Reqs @ Q Average | 17.4 Signed-off-by: Alan D. Brunelle <Alan.Brunelle@hp.com>
Diffstat (limited to 'btt/trace_queue.c')
-rw-r--r--btt/trace_queue.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/btt/trace_queue.c b/btt/trace_queue.c
index 1d2afbe..fe85a09 100644
--- a/btt/trace_queue.c
+++ b/btt/trace_queue.c
@@ -33,6 +33,9 @@ static void handle_queue(struct io *q_iop)
q_iop->i_time = q_iop->gm_time = q_iop->d_time = (__u64)-1;
q_iop->is_getrq = -1;
q_iop->dip->n_qs++;
+
+ q_iop->dip->t_act_q += q_iop->dip->n_act_q;
+ q_iop->dip->n_act_q++;
}
void trace_queue(struct io *q_iop)