X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=fio.c;h=2ee7dcaf81a8c49f800fee31cd58677506896fc4;hp=5a3fddf007f4bcf003df6442455bc4ace295179d;hb=ee56ad500f6692381e131cc37299d23fa910a24a;hpb=886a2b5b4cfc447bb2dcb711bddfe3999f1614e5 diff --git a/fio.c b/fio.c index 5a3fddf0..2ee7dcaf 100644 --- a/fio.c +++ b/fio.c @@ -60,6 +60,8 @@ struct io_log *agg_io_log[2]; 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 @@ static void terminate_threads(int group_id) 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 @@ static void *thread_main(void *data) 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 @@ reaped: 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 @@ static void run_threads(void) 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);