X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=fio.h;h=6a5ead4d453dfa288dffdece1b5191afb8d9ac73;hb=fd745bf3cacdd51b58619ae48bfeb0358ddda28e;hp=2103151d9b42b3b318cb16d4e3519bc6ed354da1;hpb=9781c080385364d24ac18a95544484864a27611a;p=fio.git diff --git a/fio.h b/fio.h index 2103151d..6a5ead4d 100644 --- a/fio.h +++ b/fio.h @@ -36,6 +36,8 @@ #include "lib/rand.h" #include "lib/rbtree.h" #include "lib/num2str.h" +#include "lib/memalign.h" +#include "smalloc.h" #include "client.h" #include "server.h" #include "stat.h" @@ -660,8 +662,14 @@ extern const char *runstate_to_name(int runstate); */ #define FIO_REAP_TIMEOUT 300 -#define TERMINATE_ALL (-1U) -extern void fio_terminate_threads(unsigned int); +enum { + TERMINATE_NONE = 0, + TERMINATE_GROUP = 1, + TERMINATE_STONEWALL = 2, + TERMINATE_ALL = -1, +}; + +extern void fio_terminate_threads(unsigned int, unsigned int); extern void fio_mark_td_terminate(struct thread_data *); /* @@ -705,16 +713,6 @@ extern void lat_target_reset(struct thread_data *); (i) < (td)->o.nr_files && ((f) = (td)->files[i]) != NULL; \ (i)++) -#define fio_assert(td, cond) do { \ - if (!(cond)) { \ - int *__foo = NULL; \ - fprintf(stderr, "file:%s:%d, assert %s failed\n", __FILE__, __LINE__, #cond); \ - td_set_runstate((td), TD_EXITED); \ - (td)->error = EFAULT; \ - *__foo = 0; \ - } \ -} while (0) - static inline bool fio_fill_issue_time(struct thread_data *td) { if (td->o.read_iolog_file || @@ -860,4 +858,14 @@ extern void check_trigger_file(void); extern bool in_flight_overlap(struct io_u_queue *q, struct io_u *io_u); extern pthread_mutex_t overlap_check; +static inline void *fio_memalign(size_t alignment, size_t size, bool shared) +{ + return __fio_memalign(alignment, size, shared ? smalloc : malloc); +} + +static inline void fio_memfree(void *ptr, size_t size, bool shared) +{ + return __fio_memfree(ptr, size, shared ? sfree : free); +} + #endif