From 59358c8ef39efea4a2ab141d85b2deebf5cf34fd Mon Sep 17 00:00:00 2001 From: Jens Axboe Date: Wed, 17 Apr 2013 10:53:52 -0700 Subject: [PATCH] Get rid of mixed code/data sections Signed-off-by: Jens Axboe --- fio.h | 2 +- idletime.c | 32 +++++++++++++++++++++----------- 2 files changed, 22 insertions(+), 12 deletions(-) diff --git a/fio.h b/fio.h index 699bbdd4..50a868ad 100644 --- a/fio.h +++ b/fio.h @@ -321,9 +321,9 @@ enum { #define __td_verror(td, err, msg, func) \ do { \ + int e = (err); \ if ((td)->error) \ break; \ - int e = (err); \ (td)->error = e; \ if (!(td)->first_error) \ snprintf(td->verror, sizeof(td->verror), "file:%s:%d, func=%s, error=%s", __FILE__, __LINE__, (func), (msg)); \ diff --git a/idletime.c b/idletime.c index d4d665a1..9e696070 100644 --- a/idletime.c +++ b/idletime.c @@ -43,6 +43,26 @@ static double calibrate_unit(unsigned char *data) return tunit / CALIBRATE_SCALE; } +static int set_cpu_affinity(struct idle_prof_thread *ipt) +{ +#if defined(FIO_HAVE_CPU_AFFINITY) + os_cpu_mask_t cpu_mask; + + memset(&cpu_mask, 0, sizeof(cpu_mask)); + fio_cpu_set(&cpu_mask, ipt->cpu); + + if (fio_setaffinity(gettid(), cpu_mask)) { + log_err("fio: fio_setaffinity failed\n"); + return -1; + } + + return 0; +#else + log_err("fio: fio_setaffinity not supported\n"); + return -1; +#endif +} + static void *idle_prof_thread_fn(void *data) { int retval; @@ -56,17 +76,7 @@ static void *idle_prof_thread_fn(void *data) if (ipc.status == IDLE_PROF_STATUS_ABORT) return NULL; -#if defined(FIO_HAVE_CPU_AFFINITY) - os_cpu_mask_t cpu_mask; - memset(&cpu_mask, 0, sizeof(cpu_mask)); - fio_cpu_set(&cpu_mask, ipt->cpu); - - if ((retval=fio_setaffinity(gettid(), cpu_mask)) == -1) - log_err("fio: fio_setaffinity failed\n"); -#else - retval = -1; - log_err("fio: fio_setaffinity not supported\n"); -#endif + retval = set_cpu_affinity(ipt); if (retval == -1) { ipt->state = TD_EXITED; pthread_mutex_unlock(&ipt->init_lock); -- 2.25.1