The original number(128) of aio events for io_setup too big. When try to run lots of fsstress processes(e.g. -p 1000) always hit io_setup EAGAIN error, due to the nr_events exceeds the limit of available events. Due to each fsstress process only does once libaio read/write operation each time. So reduce the aio events number to 1, to make more fsstress processes can do AIO test. Signed-off-by: Zorro Lang <zlang@xxxxxxxxxx> --- ltp/fsstress.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ltp/fsstress.c b/ltp/fsstress.c index 2c584ef0..b4a51376 100644 --- a/ltp/fsstress.c +++ b/ltp/fsstress.c @@ -28,6 +28,7 @@ #endif #ifdef AIO #include <libaio.h> +#define AIO_ENTRIES 1 io_context_t io_ctx; #endif #ifdef URING @@ -699,8 +700,8 @@ int main(int argc, char **argv) } procid = i; #ifdef AIO - if (io_setup(128, &io_ctx) != 0) { - fprintf(stderr, "io_setup failed"); + if (io_setup(AIO_ENTRIES, &io_ctx) != 0) { + fprintf(stderr, "io_setup failed\n"); exit(1); } #endif -- 2.20.1