diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/im-sandbox.c | 32 | ||||
-rw-r--r-- | src/process_image.c | 25 | ||||
-rw-r--r-- | src/process_image.h | 4 |
3 files changed, 9 insertions, 52 deletions
diff --git a/src/im-sandbox.c b/src/im-sandbox.c index 501efb45..ad22d96f 100644 --- a/src/im-sandbox.c +++ b/src/im-sandbox.c @@ -60,7 +60,6 @@ #include "im-sandbox.h" #include "process_image.h" -#include "time-accounts.h" #include "im-zmq.h" @@ -345,7 +344,6 @@ static int run_work(const struct index_args *iargs, Stream *st, while ( !allDone ) { - TimeAccounts *taccs; struct pattern_args pargs; int ser; char *line; @@ -355,10 +353,7 @@ static int run_work(const struct index_args *iargs, Stream *st, char *ser_str = NULL; int ok = 1; - taccs = time_accounts_init(); - /* Wait until an event is ready */ - time_accounts_set(taccs, TACC_EVENTWAIT); sb->shared->pings[cookie]++; set_last_task(sb->shared->last_task[cookie], "wait_event"); if ( sem_wait(sb->queue_sem) != 0 ) { @@ -460,10 +455,8 @@ static int run_work(const struct index_args *iargs, Stream *st, if ( sb->profile ) { pthread_mutex_lock(&sb->shared->term_lock); - time_accounts_print_short(taccs); pthread_mutex_unlock(&sb->shared->term_lock); } - time_accounts_free(taccs); } im_zmq_shutdown(zmqstuff); @@ -576,7 +569,7 @@ static void remove_pipe(struct sandbox *sb, int d) } -static void try_read(struct sandbox *sb, TimeAccounts *taccs) +static void try_read(struct sandbox *sb) { int r, i; struct timeval tv; @@ -584,8 +577,6 @@ static void try_read(struct sandbox *sb, TimeAccounts *taccs) int fdmax; const int ofd = stream_get_fd(sb->stream); - time_accounts_set(taccs, TACC_SELECT); - tv.tv_sec = 0; tv.tv_usec = 500000; @@ -619,7 +610,6 @@ static void try_read(struct sandbox *sb, TimeAccounts *taccs) /* If the chunk cannot be read, assume the connection * is broken and that the process will die soon. */ - time_accounts_set(taccs, TACC_STREAMREAD); if ( pump_chunk(sb->fhs[i], ofd) ) { remove_pipe(sb, i); } @@ -1066,7 +1056,6 @@ int create_sandbox(struct index_args *iargs, int n_proc, char *prefix, struct sigaction sa; int r; int allDone = 0; - TimeAccounts *taccs; struct get_pattern_ctx gpctx; if ( n_proc > MAX_NUM_WORKERS ) { @@ -1188,22 +1177,18 @@ int create_sandbox(struct index_args *iargs, int n_proc, char *prefix, return 0; } - taccs = time_accounts_init(); - do { /* Check for stream output from workers */ - try_read(sb, taccs); + try_read(sb); /* Check for interrupt or zombies */ - time_accounts_set(taccs, TACC_SIGNALS); check_signals(sb, semname_q, 1); /* Check for hung workers */ check_hung_workers(sb); /* Top up the queue if necessary */ - time_accounts_set(taccs, TACC_QUEUETOPUP); pthread_mutex_lock(&sb->shared->queue_lock); if ( !sb->shared->no_more && (sb->shared->n_events < QUEUE_SIZE/2) ) { if ( fill_queue(&gpctx, sb) ) sb->shared->no_more = 1; @@ -1211,11 +1196,9 @@ int create_sandbox(struct index_args *iargs, int n_proc, char *prefix, pthread_mutex_unlock(&sb->shared->queue_lock); /* Update progress */ - time_accounts_set(taccs, TACC_STATUS); try_status(sb, 0); /* Have all the events been swallowed? */ - time_accounts_set(taccs, TACC_ENDCHECK); pthread_mutex_lock(&sb->shared->queue_lock); if ( sb->shared->no_more && (sb->shared->n_events == 0) ) allDone = 1; if ( sb->shared->should_shutdown ) { @@ -1234,7 +1217,6 @@ int create_sandbox(struct index_args *iargs, int n_proc, char *prefix, /* Indicate to the workers that we are finished, and wake them up one * last time */ - time_accounts_set(taccs, TACC_WAKEUP); STATUS("Waiting for the last patterns to be processed...\n"); pthread_mutex_lock(&sb->shared->queue_lock); sb->shared->no_more = 1; @@ -1244,29 +1226,21 @@ int create_sandbox(struct index_args *iargs, int n_proc, char *prefix, } for ( i=0; i<n_proc; i++ ) { int status; - time_accounts_set(taccs, TACC_WAITPID); while ( waitpid(sb->pids[i], &status, WNOHANG) == 0 ) { - time_accounts_set(taccs, TACC_STREAMREAD); - try_read(sb, taccs); + try_read(sb); - time_accounts_set(taccs, TACC_SIGNALS); check_signals(sb, semname_q, 0); check_hung_workers(sb); - time_accounts_set(taccs, TACC_STATUS); try_status(sb, 0); - time_accounts_set(taccs, TACC_WAITPID); } /* If this worker died and got waited by the zombie handler, * waitpid() returns -1 and the loop still exits. */ } - if ( profile ) time_accounts_print(taccs); - time_accounts_free(taccs); - sem_unlink(semname_q); for ( i=0; i<sb->n_read; i++ ) { diff --git a/src/process_image.c b/src/process_image.c index 20d6c9c1..46c5f729 100644 --- a/src/process_image.c +++ b/src/process_image.c @@ -50,7 +50,6 @@ #include <integration.h> #include <detgeom.h> #include <image-msgpack.h> -#include <time-accounts.h> #include "process_image.h" #include "predict-refine.h" @@ -103,7 +102,6 @@ static struct image *file_wait_open_read(const char *filename, const char *event, DataTemplate *dtempl, struct sb_shm *sb_shared, - TimeAccounts *taccs, char *last_task, signed int wait_for_file, int cookie, @@ -116,7 +114,6 @@ static struct image *file_wait_open_read(const char *filename, int r; struct image *image; - time_accounts_set(taccs, TACC_WAITFILE); set_last_task(last_task, "wait for file"); do { @@ -150,13 +147,11 @@ static struct image *file_wait_open_read(const char *filename, do { - time_accounts_set(taccs, TACC_IMAGE_DATA); set_last_task(last_task, "read file"); sb_shared->pings[cookie]++; - image = image_read_with_time_accounting(dtempl, filename, event, - no_image_data, no_mask_data, - taccs); + image = image_read(dtempl, filename, event, + no_image_data, no_mask_data); if ( image == NULL ) { if ( wait_for_file && !read_retry_done ) { read_retry_done = 1; @@ -178,7 +173,7 @@ static struct image *file_wait_open_read(const char *filename, void process_image(const struct index_args *iargs, struct pattern_args *pargs, Stream *st, int cookie, const char *tmpdir, - int serial, struct sb_shm *sb_shared, TimeAccounts *taccs, + int serial, struct sb_shm *sb_shared, char *last_task) { struct image *image; @@ -190,7 +185,6 @@ void process_image(const struct index_args *iargs, struct pattern_args *pargs, int any_crystals; if ( pargs->zmq_data != NULL ) { - time_accounts_set(taccs, TACC_IMAGE_DATA); set_last_task(last_task, "unpacking messagepack object"); image = image_read_data_block(iargs->dtempl, pargs->zmq_data, @@ -198,13 +192,12 @@ void process_image(const struct index_args *iargs, struct pattern_args *pargs, iargs->data_format, serial, iargs->no_image_data, - iargs->no_mask_data, - taccs); + iargs->no_mask_data); if ( image == NULL ) return; } else { image = file_wait_open_read(pargs->filename, pargs->event, iargs->dtempl, - sb_shared, taccs, last_task, + sb_shared, last_task, iargs->wait_for_file, cookie, iargs->no_image_data, @@ -222,7 +215,6 @@ void process_image(const struct index_args *iargs, struct pattern_args *pargs, image->serial = serial; /* Take snapshot of image before applying horrible noise filters */ - time_accounts_set(taccs, TACC_FILTER); set_last_task(last_task, "image filter"); sb_shared->pings[cookie]++; @@ -240,12 +232,10 @@ void process_image(const struct index_args *iargs, struct pattern_args *pargs, filter_noise(image); } - time_accounts_set(taccs, TACC_RESRANGE); set_last_task(last_task, "resolution range"); sb_shared->pings[cookie]++; mark_resolution_range_as_bad(image, iargs->highres, +INFINITY); - time_accounts_set(taccs, TACC_PEAKSEARCH); sb_shared->pings[cookie]++; switch ( iargs->peaks ) { @@ -363,7 +353,6 @@ void process_image(const struct index_args *iargs, struct pattern_args *pargs, image->hit = 1; /* Index the pattern */ - time_accounts_set(taccs, TACC_INDEXING); set_last_task(last_task, "indexing"); index_pattern_3(image, iargs->ipriv, &sb_shared->pings[cookie], last_task); @@ -376,7 +365,6 @@ void process_image(const struct index_args *iargs, struct pattern_args *pargs, free(rn); /* Set beam/crystal parameters */ - time_accounts_set(taccs, TACC_PREDPARAMS); set_last_task(last_task, "prediction params"); if ( iargs->fix_profile_r >= 0.0 ) { for ( i=0; i<image->n_crystals; i++ ) { @@ -400,7 +388,6 @@ void process_image(const struct index_args *iargs, struct pattern_args *pargs, } /* Integrate! */ - time_accounts_set(taccs, TACC_INTEGRATION); set_last_task(last_task, "integration"); sb_shared->pings[cookie]++; integrate_all_5(image, iargs->int_meth, PMODEL_XSPHERE, @@ -411,7 +398,6 @@ void process_image(const struct index_args *iargs, struct pattern_args *pargs, &sb_shared->term_lock, iargs->overpredict); streamwrite: - time_accounts_set(taccs, TACC_WRITESTREAM); set_last_task(last_task, "stream write"); sb_shared->pings[cookie]++; ret = stream_write_chunk(st, image, iargs->stream_flags); @@ -430,7 +416,6 @@ streamwrite: out: /* Count crystals which are still good */ - time_accounts_set(taccs, TACC_TOTALS); set_last_task(last_task, "process_image finalisation"); sb_shared->pings[cookie]++; pthread_mutex_lock(&sb_shared->totals_lock); diff --git a/src/process_image.h b/src/process_image.h index a52dd38a..cbf2713b 100644 --- a/src/process_image.h +++ b/src/process_image.h @@ -43,7 +43,6 @@ struct index_args; #include "integration.h" #include "im-sandbox.h" -#include "time-accounts.h" #include "peaks.h" #include "image.h" @@ -128,8 +127,7 @@ struct pattern_args extern void process_image(const struct index_args *iargs, struct pattern_args *pargs, Stream *st, int cookie, const char *tmpdir, int serial, - struct sb_shm *sb_shared, TimeAccounts *taccs, - char *last_task); + struct sb_shm *sb_shared, char *last_task); #endif /* PROCESS_IMAGE_H */ |