td = data + offset * sizeof(struct thread_data);
td->pid = getpid();
- td->fd = -1;
-
if (sched_setaffinity(td->pid, sizeof(td->cpumask), &td->cpumask) == -1) {
td->error = errno;
goto err;
if (setup_file(td))
goto err;
+ if (td->use_aio)
+ ptr = malloc(td->bs * td->aio_depth + MASK);
+ else
+ ptr = malloc(td->bs + MASK);
+
+ td->buf = ALIGN(ptr);
+
sem_post(&startup_sem);
sem_wait(&td->mutex);
memcpy(&td->stat_sample_time, &td->start, sizeof(td->start));
- if (!td->use_aio) {
- ptr = malloc(td->bs + MASK);
- td->buf = ALIGN(ptr);
+ if (!td->use_aio)
do_sync_io(td);
- } else {
- ptr = malloc(td->bs * td->aio_depth + MASK);
- td->buf = ALIGN(ptr);
+ else
do_async_io(td);
- }
td->runtime = mtime_since_now(&td->start);
ret = 0;
td = &threads[thread_number++];
memset(td, 0, sizeof(*td));
+ td->fd = -1;
td->thread_number = thread_number;
td->ddir = def_thread.ddir;
td->bs = def_thread.bs;