syslet engine: submission latency numbers

Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
diff --git a/engines/syslet-rw.c b/engines/syslet-rw.c
index 4b1b263..8ab217f 100644
--- a/engines/syslet-rw.c
+++ b/engines/syslet-rw.c
@@ -187,6 +187,23 @@
 	return (unsigned long) malloc(THREAD_STACK_SIZE) + THREAD_STACK_SIZE;
 }
 
+static void fio_syslet_queued(struct thread_data *td, struct syslet_data *sd)
+{
+	struct syslet_uatom *atom;
+	struct timeval now;
+
+	fio_gettime(&now, NULL);
+
+	atom = sd->head;
+	while (atom) {
+		struct io_u *io_u = atom->private;
+
+		memcpy(&io_u->issue_time, &now, sizeof(now));
+		io_u_queued(td, io_u);
+		atom = atom->next;
+	}
+}
+
 static int fio_syslet_commit(struct thread_data *td)
 {
 	struct syslet_data *sd = td->io_ops->data;
@@ -200,6 +217,8 @@
 	if (!sd->ahu.new_thread_stack)
 		sd->ahu.new_thread_stack = thread_stack_alloc();
 
+	fio_syslet_queued(td, sd);
+
 	/*
 	 * On sync completion, the atom is returned. So on NULL return
 	 * it's queued asynchronously.