summaryrefslogtreecommitdiff
path: root/btt/trace_requeue.c
diff options
context:
space:
mode:
authorAlan D. Brunelle <Alan.Brunelle@hp.com>2007-04-13 20:12:47 +0200
committerJens Axboe <jens.axboe@oracle.com>2007-04-13 20:12:47 +0200
commitc8b0b334cc1028ad8aa5407667233747af96a942 (patch)
tree07144255c7a332021e5dcdccf1cdda366811675a /btt/trace_requeue.c
parent425c69552d4fbf7705c74aef4761324ed641cb28 (diff)
downloadblktrace-c8b0b334cc1028ad8aa5407667233747af96a942.tar.gz
blktrace-c8b0b334cc1028ad8aa5407667233747af96a942.tar.bz2
A couple of weeks ago Ming Zhang had noted that btt was using tremendous
amounts of memory to accomplish a run. After looking at the code, and doing some testing, I determined the cause - please find a patch to the latest tree that seems to fix the problem for me... Signed-off-by: Alan D. Brunelle <Alan.Brunelle@hp.com> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Diffstat (limited to 'btt/trace_requeue.c')
-rw-r--r--btt/trace_requeue.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/btt/trace_requeue.c b/btt/trace_requeue.c
index ac1948d..4baf66e 100644
--- a/btt/trace_requeue.c
+++ b/btt/trace_requeue.c
@@ -22,7 +22,6 @@
void trace_requeue(struct io *r_iop)
{
- LIST_HEAD(rmhd);
struct io *d_iop;
if ((io_setup(r_iop, IOP_R) == 0) ||
@@ -33,13 +32,14 @@ void trace_requeue(struct io *r_iop)
}
dip_rem(d_iop);
-#if defined(DEBUG)
- ASSERT(ready_issue(d_iop, r_iop) != 0);
-#else
- (void)ready_issue(d_iop, r_iop);
-#endif
+# if defined(DEBUG)
+ ASSERT(ready_issue(d_iop, r_iop) != 0);
+# else
+ (void)ready_issue(d_iop, r_iop);
+# endif
- run_unissue(d_iop, &rmhd);
- list_add_tail(&r_iop->f_head, &rmhd);
- release_iops(&rmhd);
+ run_unissue(d_iop, r_iop, r_iop);
+ add_rmhd(r_iop);
+
+ release_iops();
}