Recent changes (master)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The following changes since commit 03a0825286c82d79b8d489faf33a76d50713474b:

  debug: ensure that __dprint() is also logged over the network (2013-09-11 08:23:45 -0600)

are available in the git repository at:
  git://git.kernel.dk/fio.git master

Juan Casse (1):
      Add condition to stop issuing io in do_io().

 backend.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

---

Diff of recent changes:

diff --git a/backend.c b/backend.c
index b9c1c12..180a487 100644
--- a/backend.c
+++ b/backend.c
@@ -642,6 +642,7 @@ static uint64_t do_io(struct thread_data *td)
 	uint64_t bytes_done[DDIR_RWDIR_CNT] = { 0, 0, 0 };
 	unsigned int i;
 	int ret = 0;
+	uint64_t bytes_issued = 0;
 
 	if (in_ramp_time(td))
 		td_set_runstate(td, TD_RAMP);
@@ -675,6 +676,9 @@ static uint64_t do_io(struct thread_data *td)
 		if (flow_threshold_exceeded(td))
 			continue;
 
+		if (bytes_issued >= (uint64_t) td->o.size)
+			break;
+
 		io_u = get_io_u(td);
 		if (!io_u)
 			break;
@@ -708,6 +712,7 @@ static uint64_t do_io(struct thread_data *td)
 				int bytes = io_u->xfer_buflen - io_u->resid;
 				struct fio_file *f = io_u->file;
 
+				bytes_issued += bytes;
 				/*
 				 * zero read, fail
 				 */
@@ -738,6 +743,7 @@ sync_done:
 				ret = io_u_sync_complete(td, io_u, bytes_done);
 				if (ret < 0)
 					break;
+				bytes_issued += io_u->xfer_buflen;
 			}
 			break;
 		case FIO_Q_QUEUED:
@@ -748,6 +754,7 @@ sync_done:
 			 */
 			if (td->io_ops->commit == NULL)
 				io_u_queued(td, io_u);
+			bytes_issued += io_u->xfer_buflen;
 			break;
 		case FIO_Q_BUSY:
 			requeue_io_u(td, &io_u);
--
To unsubscribe from this list: send the line "unsubscribe fio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel]     [Linux SCSI]     [Linux IDE]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux