From: Jens Axboe Date: Thu, 13 Dec 2018 03:21:42 +0000 (-0700) Subject: aioring: hide it if archs don't define syscalls X-Git-Tag: fio-3.13~80 X-Git-Url: https://git.kernel.dk/?p=fio.git;a=commitdiff_plain;h=1f90e9bb1ecd102400ba43c40d7237cae25e95eb aioring: hide it if archs don't define syscalls Signed-off-by: Jens Axboe --- diff --git a/arch/arch-x86_64.h b/arch/arch-x86_64.h index c69cbef6..d49bcd7f 100644 --- a/arch/arch-x86_64.h +++ b/arch/arch-x86_64.h @@ -44,6 +44,7 @@ static inline unsigned long long get_cpu_clock(void) #define ARCH_HAVE_FFZ #define ARCH_HAVE_SSE4_2 #define ARCH_HAVE_CPU_CLOCK +#define ARCH_HAVE_AIORING #define RDRAND_LONG ".byte 0x48,0x0f,0xc7,0xf0" #define RDSEED_LONG ".byte 0x48,0x0f,0xc7,0xf8" diff --git a/engines/aioring.c b/engines/aioring.c index c15f4a4e..5a9add79 100644 --- a/engines/aioring.c +++ b/engines/aioring.c @@ -1,3 +1,4 @@ +#ifdef ARCH_HAVE_AIORING /* * aioring engine * @@ -498,7 +499,7 @@ static int fio_aioring_init(struct thread_data *td) ld->sq_ring = fio_memalign(page_size, aioring_sq_size(td), false); memset(ld->sq_ring, 0, aioring_sq_size(td)); ld->sq_ring->nr_events = td->o.iodepth; - ld->sq_ring->iocbs = (u64) ld->iocbs; + ld->sq_ring->iocbs = (u64) (uintptr_t) ld->iocbs; ld->cq_ring = fio_memalign(page_size, aioring_cq_size(td), false); memset(ld->cq_ring, 0, aioring_cq_size(td)); @@ -537,18 +538,11 @@ static struct ioengine_ops ioengine = { static void fio_init fio_aioring_register(void) { -#ifdef __NR_sys_io_setup2 -#ifdef __NR_sys_io_ring_enter register_ioengine(&ioengine); -#endif -#endif } static void fio_exit fio_aioring_unregister(void) { -#ifdef __NR_sys_io_setup2 -#ifdef __NR_sys_io_ring_enter unregister_ioengine(&ioengine); -#endif -#endif } +#endif diff --git a/options.c b/options.c index 81fe9ffb..626c7c17 100644 --- a/options.c +++ b/options.c @@ -1774,10 +1774,12 @@ struct fio_option fio_options[FIO_MAX_OPTS] = { }, #endif #ifdef CONFIG_LIBAIO +#ifdef ARCH_HAVE_AIORING { .ival = "aio-ring", .help = "Linux native asynchronous IO", }, #endif +#endif #ifdef CONFIG_POSIXAIO { .ival = "posixaio", .help = "POSIX asynchronous IO",