Add --debug for enabling internal dumps on various actions
A little weak currently, when it's fully integrated everywhere in
fio it'll help find fio problems that I can't trigger.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
diff --git a/fio.c b/fio.c
index 5a3fddf..2ee7dca 100644
--- a/fio.c
+++ b/fio.c
@@ -60,6 +60,8 @@
static inline void td_set_runstate(struct thread_data *td, int runstate)
{
+ dprint(FD_PROCESS, "%d: runstate %d -> %d\n", td->pid, td->runstate,
+ runstate);
td->runstate = runstate;
}
@@ -70,6 +72,7 @@
for_each_td(td, i) {
if (group_id == TERMINATE_ALL || groupid == td->groupid) {
+ dprint(FD_PROCESS, "setting terminate on %d\n",td->pid);
/*
* if the thread is running, just let it exit
*/
@@ -806,6 +809,8 @@
td->pid = getpid();
+ dprint(FD_PROCESS, "jobs pid=%d started\n", td->pid);
+
INIT_LIST_HEAD(&td->io_u_freelist);
INIT_LIST_HEAD(&td->io_u_busylist);
INIT_LIST_HEAD(&td->io_u_requeues);
@@ -1068,8 +1073,11 @@
if (td->o.use_thread) {
long ret;
- if (pthread_join(td->thread, (void *) &ret))
+ dprint(FD_PROCESS, "joining tread %d\n", td->pid);
+ if (pthread_join(td->thread, (void *) &ret)) {
+ dprint(FD_PROCESS, "join failed %ld\n", ret);
perror("pthread_join");
+ }
}
(*nr_running)--;
@@ -1184,12 +1192,14 @@
nr_started++;
if (td->o.use_thread) {
+ dprint(FD_PROCESS, "will pthread_create\n");
if (pthread_create(&td->thread, NULL, thread_main, td)) {
perror("thread_create");
nr_started--;
break;
}
} else {
+ dprint(FD_PROCESS, "will fork\n");
if (!fork()) {
int ret = fork_main(shm_id, i);